Design
Secure Android Data Distribution with ITTIA DB SQL
With Android's worldwide smart device market dominance, and thanks to inexpensive high-capacity SD Cards and comprehensive software development kit, it is easier than ever for software developers to build a distributed network of data-driven applications. While Android includes SQLite, a built-in database, applications handling mission critical data require capabilities not available in SQLite.
Impo• Security
• Data replication
• Data synchronization-Concurrent shared access
• Flexible storage
• Performance
Eventually, such problems make migrating to a different embedded database inevitable. ITTIA DB SQL is a pure relational database suitable for Android-based developers. After a straightforward process of migrating from SQLite, an Android application will have access to a broad range of features, including:
• Shared database access
• High-performance memory storage
• Replication
• Distributed transactions
• Table snapshots
• Synchronous commit
• Replication on commit
• Single-master replication on demand
• Multiple-master replication on demand
• Online backup
Devices with sensitive information must secure data both at rest and when shared with other systems. Database file encryption protects data from media theft by encrypting each page before it is saved to flash storage. ITTIA DB SQL supports AES-128 and AES-256 encryption. With ITTIA DB's lightweight server, Android databases can also be accessed remotely for replication, synchronization, and shared access. These communications can be authenticated with a database password and also encrypted with OpenSSL.
Transactions provide full ACID protection, guaranteeing atomicity, consistency, isolation, and durability, with lower overhead than SQLite. Also, row-level locking with isolation levels allows the database to automatically track all rows that are read or modified in a transaction. At the highest level of isolation, known as serializable, rows are locked in such a way as to prevent all possible conflicts.
Algorithms used for in-memory storage are different from those for on-disk. Since memory tables can be shared between activities and threads, they are a useful alternative to the Java collection classes. Hybrid in-memory/on-disk databases containing a mixture of memory and disk tables can also be created. When tables are stored on disk, ITTIA DB SQL provides safe, scalable on-disk file storage, and uses row-level locking for higher concurrency.
In addition, data can be easily shared between threads in an Activity, Activities in an app process, applications on a device, and devices on a network. By performing synchronous replication on designated tables, changes in the table are automatically applied to other database sites. When a transaction is committed, changes are sent to other participates using a distributed commit over all participating peers. As a result, committing a transaction will only succeed if all replication peers accept the changes.