| arch: server | C/S | C/S Oracle has a family of databases, even with nonsql one. | Embedded or traditional C/S? |
| arch: run in browser? | no | no | It also known as a client-side database, is a database that is stored and managed within a user's web browser, rather than on a remote server. |
| arch: Multi-master support? | no | yes | if multi-master support? |
| arch: primary/read replica? | yes | yes | if primary + mulitiple read replica supported |
| replication: sync/async | both | both | Can commits wait or w/o wait for replicas to acknowledge |
| ACID | yes/atomic DDL (non-transactional) Atomic DDL is not transactional DDL. DDL statements, atomic or otherwise, implicitly end any transaction that is active in the current session, as if you had done a COMMIT before executing the statement. This means that DDL statements cannot be performed within another transaction, within transaction control statements such as START TRANSACTION ... COMMIT, or combined with other statements within the same transaction. | yes/yes | for DML and DDL |
| ACID: durability | yes | yes | |
| Materialized View: support? | no | yes | |
| arch: clustering/HA | | RAC, Data Guard | |
| arch: in-memory support | | Oracle Database In-Memory option | |
| replication: WAL shipping | | yes | Uses write-ahead log (WAL) shipping for replication |
| sessions: max | | 262143 | |
| tables: max number per database | | undefined | |
| tables: max number of columns | | 4096 | Max number of columns per table |
| contraints: max per column | | undefined | |
| partitions: methods | | Range, List, Hash, Composite (sub-partitions supported). | Supported partitioning strategies (range, list, hash, etc.). |
| partitions: global index | | yes | index across partitions |
| constraints: max per database | | 4,294,967,293 | |
| rows: max rows per table | | undefined | The actual number depends on storage etc |
| index: max allowed index | | undefined | Max number of indices allowed per table |
| index: max allowable size | | 6400 | Max index record size (bytes). This constraint is mainly coming from the fact of the database page size: if we exclude blob data types, database engine usally do not allow a record expand more than one page. |
| index: max number of fields | | 32 | Max number of columns allowed in one index |
| partition: max allowed partitions | | 1M-1 | Meta data challenge: 1M partitions just like 1M tables, system have to hold them in memory.
Optimizer challenge: O(N) algorithm may lead to very long planning time if there are excessive partitions. |
| partition: max allowed key columns | | 16 | |
| partition: max number of subpartitions | | 1M-1 | |
| ACID: max isolation level | | SI The Snapshot Isolation (SI) implemented by Oracle allows some anomalies, including write skew. But the SI does satisfies ANSI's serializable definition. | |
| ACID: max ANSI isolation level | | Serializable | |