Database Selection Reference
At present, the requirements for game programs are higher than ever. Online games start with only a few users and very little data. However, if the game is successful, it can easily exceed the resources of the basic database management system, which is not uncommon. The game program's database must handle tens of thousands or hundreds of thousands of reads and writes per second. TcaplusDB is ideal for these types of workloads. As a developer, you want to start with a low cost and gradually increase capacity as game programs gain popularity. TcaplusDB can be seamlessly extended to handle large amounts of data and users. The following table describes some of the key features of TcaplusDB.
1. High Availability Related
Feature | TcaplusDB |
---|---|
Data persistence | Support persistence to SSD |
System capacity expansion and shrinkage | Support lossless capacity expansion and shrinkage without affecting users |
System upgrade | Support lossless upgrade without affecting users |
2. Performance Related
Feature | TcaplusDB |
---|---|
QPS | QPS of 10-million-level for a single table |
Storage capacity | PB-level single table |
Delay | 5ms delay |
3. Operation and Maintenance Related
Feature | TcaplusDB |
---|---|
Rollback | Rollback accurate to second level, supporting table level and record level |
Backup | Incremental backup and full backup |
Synchronization and subscription | Support synchronization to mysql, kafka, etc |
Read Split | Support |
4. Developer Related
Feature | TcaplusDB |
---|---|
Data structure | Two-dimensional table with multiple keys and values and support for lists, nesting, and other structures. |
Database and table splitting | Support horizontal expansion, without database and table splitting |
Local Index | Support local indexes and partial key queries based on full keys and splittable keys |
Secondary index | Support global secondary indexes, where the secondary indexes and master data are asynchronously synchronized, with millisecond level consistency differences |
Multilingual SDK | C++, GO, java, python, RESTful API, etc |
MySQL Protocol Compatibility](../05TcaplusDB_SDK_and_API/01TDR_Table_SDK_and_API/04MySQL_Protocol_Compatibility_Interface/00README.md) | Support mySQL driver access |
Asynchronous access | Support |
Synchronous access | Support |
Batch Read/Write | Support |
Multi-table associated query | Do not support |
Single table complex query | Partial support after enabling the secondary index |
Conditional filtering | Support value field filtering when the key is determined |
Consistency | Adopt master/slave architecture, finally achieve consistency |
Transactions across rows and tables | Do not support |
Read/write protection | Support |
Record Version Number | Support |
TTL | Support |
5. System Limitations
Item | Limitation |
---|---|
Number of Apps that can be created in a cluster | 510 maximum |
Number of game zones (zones, table groups) that can be created in a single app | 2048 maximum |
Number of tables that can be created in a single game zone (zone, table group) | 256 maximum |
Length of data table name | 32 B maximum |
Number of primary key fields that can be specified in a single table | 8 maximum (The built-in index field in the List table occupies one primary key field, and the actual number of primary key fields that can be specified by the user is 7) |
Number of regular fields (non-primary key fields) that can be defined in a single table | 256 maximum |
Number of local indexes that can be defined for a single table | 8 maximum |
Length of data table field name | 32 B maximum |
Number of index fields that can be specified by a single local index | 8 maximum |
The size of a single primary key field value for a single piece of data | 1 KB maximum |
The total size of all primary key field values for a single piece of data | 8 KB maximum (The size of all primary key fields in a PB table, the total length of which cannot exceed 1022B after serialization) |
The size of a single regular field value for a single piece of data | 10 MB maximum |
The total size of all regular field values of a single piece of data | 10 MB maximum |
Number of elements in a single list in the List table | 10000 maximum |
The size of a single data shard | 256 G maximum |
Number of data shards in a single table | 10000 maximum |
Modify table - Add fields | Support adding regular fields |
Modify table - Delete fields | Do not support at present |
Modify table - Add/delete local indexes | Do not support at present |
Number of data that can be returned by a single global index query | 3000 maximum |