Mengembangkan Model Data Kinerja untuk Cassandra

DataStax sedang mengerjakan pembuatan model data kinerja untuk Apache Cassandra. Apa pekerjaan ini dan bagaimana melakukannya dengan benar, pada konferensi Cassandra Day Russia 2021, Artyom Chebotko, Arsitek Solusi di DataStax, mengatakan.







gambar







Apache Cassandra. DataStax. use cases, . .

. , Cassandra , , . . 3 , . , , .







Cassandra



Cassandra , , KEYSPACE โ€” . . , replication strategy, - replication factors .







gambar







DC-WEST โ€” - replication factor 3. DC-EAST replication factor 5. KEYSPACE. , KEYSPACE, replication strategy.







KEYSPACE . Create Table โ€” .







gambar







. SQL: 4 , 4 . primary key โ€” โ€” , , 2 . โ€” year. , partition key, . โ€” name. clustering key, , .







gambar







Partition key YEAR , . . YEAR partition key. partition. , 2015 partition, 2015 partition. - .







gambar







โ€” Cassandra , , , replication factor. , partition โ€” - 3 , - 5 . 1- partition 3 . partition key Cassandra , , , .







gambar







KEYSPACE, โ€” Cassandra Query Language, Structured Query Language, SQL.







, Create Table, .







gambar







partition key, , primary key partition key , , clustering key. , clustering key.







, . , . , , - , . partition, partition.







clustering order by โ€” , partition, . , , clustering key. Cassandra , . , , , .







gambar







, partitions. , primary key. primary key ID, partition key. partition . . ยซ , ยป โ€” Single-Row Partitions. , Cassandra. partitions , 1. Multi-Row Partitions.







gambar







, partition key, clustering key, Cassandra, . . . . 10 , . partition partition - .







partition key. Venue year โ€” ยซยป ยซยป. DataStax Accelerate. partition key . , โ€” - . title, โ€” . .







Country , partition, . , .







. . ? , 5 , , K โ€” partition key, โ€” clustering key, โ€” ascending descending, , โ€” . S โ€” .







gambar







, . , CQL. SQL: select, from, where, group by, order by, limit. allow filtering โ€” .







gambar







Select โ€” , from โ€” . Cassandra . . , join โ€” , union โ€” , intersection โ€” . , 2 , . , , , join, , join.







where โ€” , primary key. partition key โ€” . โ€” โ€” clustering key, , /. . use cases, , .







Group by primary key , .

Order by โ€” . Cassandra , . , . , . . .







Limit โ€” .







llow filtering โ€” , . , . , , , , .







, artefacts_by_venue.







gambar







artefacts, venue - , year - , partition key. partition key clustering key โ€” . clustering key. : partition key clustering key.







, .







gambar







, venue. partition key, Cassandra , , . partition key, clustering key.







venue, year โ€” partition key, title , primary key, . Country. . , , .







gambar







Primary key , . -, , partition key, partition , , partition. .







clustering key ( ). , join, - , , . , , , . .









โ€” . , , . .







gambar







โ€” . . โ€” . , โ€” , . , . โ€” , ( ). , .







, , . , โ€” access patterns . . , , , , . . , , .







- โ€” โ€” .







, Cassandra , (consistency) , , . โ€” join . , .







, โ€” , , , . , .







gambar







4 :







  1. .
  2. , , .
  3. , .
  4. .


:







  1. Conceptual Data Model.
  2. Application Workflow Model.
  3. Logical Data Model.
  4. Physical Data Model.


- : Entity-Relationship Diagram (-), Application Workflow Diagram ( ), Chebotko Diagram Chebotko Diagram&CQL.







. โ€” .







, : ยซ โ€” Conceptual Data Model Application Workflow Modelยป? . , , . , . , , .







: ? consistency level , ?



: , . . , . ? partition key, Cassandra- , . 100 , replication factor 3, partition key , 3 โ€” . secondary index partition key, 100 , .



?

  1. partition key
  2. . , OLTP-, , . Cassandra, -. . - Cassandra โ€” Spark, - . - -, , , .




consistency level . , . .



, , .




DataStax Academy , 2. , . , : , .









โ€” Internet of Things . ? - , , . , , , , . - , , , . .







gambar







.







, . , ?







gambar







, - . - โ€” .







, , . , . , , - .







, . โ€” , . โ€” , . , . ID โ€” . , โ€” . โ€” โ€” , , : , , . , .







, , , โ€” . , . ID timestamp - . โ€” timestamp โ€” .







, Entity-Relationship (-), . , . , .







gambar







Application Workflow Model โ€” . : , .







Application Workflow . . . : - โ€” , . , - , . . - data access pattern. , , batch.







4 , 4 4 . , , 1 โ€” . ?







  1. .
  2. . ? . , . . .
  3. : .
  4. : .


. , . ? : . โ€” : /. clustering key, partition key. , . , , ID .







gambar







, . , , Application Workflow. โ€” . โ€” , . , , DataStax Academy.







sensors_bynetwork โ€” . Network โ€” partition key, partition. Temperatures by_sensor โ€” , timestamp. , + . timestamp clustering key, . , . .







gambar







, ? , . โ€” . 3 . โ€” . bucket โ€” partition key, name โ€” clustering key. partition . partition. Bucket โ€” , , partition.







: networks โ€” . , partition.







? week โ€” . . partition key. . partition , partition . ? โ€” , . , , . , .







, , 100 000 100 . . , 5 , - 100 . 100 000 - โ€” 10 . - 100 000 โ€” 1 . .







, ? , , โ€” 24 . , . 1 000 โ€” 24 * 1 000 = 24 000 . , , . , . . .







โ€” . โ€” . timestamp โ€” .







: , like - , ?



secondary indexes, , , secondary indexes . , , Cassandra . , , , . , โ€” solar indexes, Cassandra, .

, โ€” . , CQL. . . , KEYSPACE, . , , , , , partition key, clustering key โ€” . โ€” CQL , , Stargate API โ€” .







gambar







2 : , . , , . , partition, .. bucket = all. , , , partition.







. forest-net, , . : network = forest-net, -. - . . .







, , ? ? 2 partition, 2 . , . 2 : , . . , in, . in, , 2 . , .







, , , .









โ€” . , . .







gambar







, . โ€” . , . , โ€” ยซยป ยซยป. - . , mutual funds ( ), ETF (Exchange-traded fund). . , .







. keys, username, , , โ€” . . , . , . -, , : , . , .







gambar







Workflow โ€” 3 . . , , . โ€” . , . . 5 . , 5 , . , . โ€” . โ€” : . โ€” + + + . โ€” + + . .







, ?







gambar







4 3- . 3.1 3.2. , , , . Trade_id โ€” id . , : . partition โ€” , trade_id.







, . ? . โ€” . โ€” . , .







, trades_by_a_d ? ? , โ€” . , . , , 100 000 โ€” . โ€” โ€” . , , , 100 000 .







gambar







, โ€” trade_id . Trade_id โ€” TIMEUUID. UUID โ€” . timestamp, . , .







, - . .







gambar







? , TIMEUUID? TIMEUUID timestamp .







gambar







, , , . TIMEUUID โ€” , .







, โ€” TIMEUUID, . trade_id > maxTIMEUUID โ€” , , . , timestamp. timestamp . .







: . ?



: ? โ€” update insert . , . : trades โ€” 4 , , -. -. ? baches, . baches , , baches, partition, . .



partition , . insert application retry, - . - โ€” - , - , . Spark , , . join Spark, .



All Articles