αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‚αŸ’αžšαžΉαŸ‡αž“αŸƒαž€αžΆαžšαžšαž…αž“αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ - αž€αžΆαžšαž”αŸ’αžšαŸ€αž”αž’αŸ€αž” PostgreSQL, Cassandra αž“αž·αž„ MongoDB

αž‡αŸ†αžšαžΆαž”αžŸαž½αžšαž˜αž·αžαŸ’αžαž—αž€αŸ’αžαž·αŸ” αž˜αž»αž“αž–αŸαž›αž…αžΆαž€αž…αŸαž‰αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αŸ’αž“αŸ‚αž€αž‘αžΈαž–αžΈαžšαž“αŸƒαžαŸ’αž„αŸƒαžˆαž”αŸ‹αžŸαž˜αŸ’αžšαžΆαž€αžαŸ‚αž§αžŸαž—αžΆ αž™αžΎαž„αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αž‡αžΆαž˜αž½αž™αž’αŸ’αž“αž€αž“αžΌαžœαžŸαž˜αŸ’αž—αžΆαžšαŸˆαžŠαŸ‚αž›αž™αžΎαž„αž”αžΆαž“αž”αž€αž”αŸ’αžšαŸ‚αžŠαŸ„αž™αžšαŸ†αž–αžΉαž„αžαžΆαž“αžΉαž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž€αžΆαžšαž•αŸ’αžŸαžΆαž™αžαŸ’αž˜αžΈαž“αŸ…αž›αžΎαžœαž‚αŸ’αž‚αžŸαž·αž€αŸ’αžŸαžΆ "αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„ DBMS".

αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‚αŸ’αžšαžΉαŸ‡αž“αŸƒαž€αžΆαžšαžšαž…αž“αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ - αž€αžΆαžšαž”αŸ’αžšαŸ€αž”αž’αŸ€αž” PostgreSQL, Cassandra αž“αž·αž„ MongoDB

αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž…αŸ†αžŽαžΆαž™αž–αŸαž›αž…αŸ’αžšαžΎαž“αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαžΎαž˜αŸ’αž”αžΈαž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž˜αž½αž™αžŠαŸ‚αž›αžŸαŸαž€αŸ’αžαž·αžŸαž˜αž”αŸ†αž•αž»αžαž‘αŸ…αž“αžΉαž„αž”αž“αŸ’αž‘αž»αž€αž€αžΆαžšαž„αžΆαžšαžŠαŸ‚αž›αž”αžΆαž“αž‚αŸ’αžšαŸ„αž„αž‘αž»αž€αŸ” αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž’αžΆαž…αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ†αžšαžΌαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŸαžΆαž˜αž‰αŸ’αž‰ αž€αžΆαžšαž’αžΆαž“αžΆαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž’αžΆαž“/សរសេរ αž€αžΆαžšαž’αŸ’αžœαžΎαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αž•αŸ’αžŠαŸαž€ αž“αž·αž„αž€αžΆαžšαž’αžαŸ‹αž±αž“αž…αŸ†αž–αŸ„αŸ‡αž€αŸ†αž αž»αžŸαŸ” αž‡αžΆαž”αŸ’αžšαž–αŸƒαžŽαžΈ αž‡αž˜αŸ’αžšαžΎαžŸαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž”αŸ’αžšαž—αŸαž‘αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ SQL ឬ NoSQL αž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈαž”αŸ’αžšαž—αŸαž‘αž“αžΈαž˜αž½αž™αŸ—αž”αž„αŸ’αž αžΆαž‰αž–αžΈαžŸαŸ†αžŽαž»αŸ†αž“αŸƒαž€αžΆαžšαžŠαŸ„αŸ‡αžŠαžΌαžšαž…αŸ’αž”αžΆαžŸαŸ‹αž›αžΆαžŸαŸ‹αŸ” αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžαŸ’αž–αžŸαŸ‹αž€αŸ’αž“αž»αž„αž›αž€αŸ’αžαžαžŽαŸ’αžŒαž“αŸƒαž—αžΆαž–αž™αžΊαžαž™αŸ‰αžΆαžœαž‘αžΆαž” αž“αž·αž„αž‘αž·αž“αŸ’αž“αž•αž›αžαŸ’αž–αžŸαŸ‹ αž‡αžΆαž‘αžΌαž‘αŸ…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž˜αžΎαž›αžƒαžΎαž‰αžαžΆαž‡αžΆαžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαžŠαŸ‚αž›αž˜αž·αž“αž˜αžΆαž“αž€αžΆαžšαž‡αž½αž‰αžŠαžΌαžš αž αžΎαž™αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžœαžΆαž˜αžΆαž“αžŸαžΆαžšαŸˆαžŸαŸ†αžαžΆαž“αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‚αŸ†αžšαžΌαžŽαžΆαž˜αž½αž™αŸ”

αž‚αŸ„αž›αž”αŸ†αžŽαž„αž“αŸƒαž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡αž‚αžΊαžŠαžΎαž˜αŸ’αž”αžΈαž‡αž½αž™αž’αŸ’αž“αž€αž”αž„αŸ’αž€αžΎαžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž’αŸ’αžœαžΎαž€αžΆαžšαž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαžšαžœαžΆαž„ SQL αž“αž·αž„ NoSQL αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αž”αž‘αž“αŸƒαž‚αŸ†αžšαžΌαž‘αž·αž“αŸ’αž“αž“αŸαž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαŸ” αž™αžΎαž„αž“αžΉαž„αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ SQL αž˜αž½αž™αž‚αžΊ PostgreSQL αž“αž·αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ NoSQL αž–αžΈαžšαž‚αžΊ Cassandra αž“αž·αž„ MongoDB αžŠαžΎαž˜αŸ’αž”αžΈαž‚αŸ’αžšαž”αžŠαžŽαŸ’αžαž”αŸ‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‚αŸ’αžšαžΉαŸ‡αž“αŸƒαž€αžΆαžšαžšαž…αž“αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ αžŠαžΌαž…αž‡αžΆαž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαžαžΆαžšαžΆαž„ αž€αžΆαžšαž”αž‰αŸ’αž…αžΌαž›αž–αž½αž€αžœαžΆ αž’αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž–αžΈαžαžΆαžšαžΆαž„ αž“αž·αž„αž›αž»αž”αžœαžΆαŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αž”αž“αŸ’αž‘αžΆαž”αŸ‹ αž™αžΎαž„αž“αžΉαž„αž”αŸ’αžšαžΆαž€αžŠαžαžΆαž˜αžΎαž›αžŸαž“αŸ’αž‘αžŸαŸ’αžŸαž“αŸ αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš αž…αžΌαž›αžšαž½αž˜ αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ† TTL αž“αž·αž„αž€αžΆαžšαžšαž…αž“αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž•αŸ’αž’αŸ‚αž€αž›αžΎ JSON αŸ”

αžαžΎαž’αŸ’αžœαžΈαž‡αžΆαž—αžΆαž–αžαž»αžŸαž‚αŸ’αž“αžΆαžšαžœαžΆαž„ SQL αž“αž·αž„ NoSQL?

αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ SQL αž”αž„αŸ’αž€αžΎαž“αž—αžΆαž–αž”αžαŸ‹αž”αŸ‚αž“αž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžαžΆαž˜αžšαž™αŸˆαž€αžΆαžšαž’αžΆαž“αžΆαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš ACID αž€αŸαžŠαžΌαž…αž‡αžΆαžŸαž˜αžαŸ’αžαž—αžΆαž–αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαžΆαž€αžŸαž½αžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ„αž™αž”αŸ’αžšαžΎ JOINs αž“αŸ…αž€αŸ’αž“αž»αž„αžœαž·αž’αžΈαžŠαŸ‚αž›αž˜αž·αž“αžšαŸ†αž–αžΉαž„αž‘αž»αž€αž“αŸ…αž›αžΎαž€αŸ†αž–αžΌαž›αž“αŸƒαž‚αŸ†αžšαžΌαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž’αž˜αŸ’αž˜αžαžΆαžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹αŸ”

αžŠαŸ„αž™αžŸαžΆαžšαžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜ monolithic/single-node αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸ αž“αž·αž„αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‚αŸ†αžšαžΌαž…αž˜αŸ’αž›αž„αž˜αŸ-αž‘αžΆαžŸαž€αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαžΎαž‘αžΎαž„αžœαž·αž‰ αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ SQL αž”αŸ’αžšαž–αŸƒαžŽαžΈαžαŸ’αžœαŸ‡αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαžŸαŸ†αžαžΆαž“αŸ‹αž–αžΈαžš - αž›αž‘αŸ’αž’αž—αžΆαž–αžŸαžšαžŸαŸαžšαž›αžΈαž“αŸαž’αŸŠαŸ‚αžš (αž§αž‘αžΆαž αžšαžŽαŸαž€αžΆαžšαž”αŸ‚αž„αž…αŸ‚αž€αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž†αŸ’αž›αž„αž€αžΆαžαŸ‹αžαŸ’αž“αžΆαŸ†αž„αž…αŸ’αžšαžΎαž“) αž“αž·αž„αž€αžΆαžšαž”αžΆαžαŸ‹αž”αž„αŸ‹αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·/αžŸαžΌαž“αŸ’αž™αŸ” αž“αŸαŸ‡αž˜αžΆαž“αž“αŸαž™αžαžΆαž…αŸ†αž“αž½αž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž‘αž‘αž½αž›αž”αžΆαž“αž˜αž·αž“αž’αžΆαž…αž›αžΎαžŸαž–αžΈαž€αžΆαžšαžŸαžšαžŸαŸαžšαž’αžαž·αž”αžšαž˜αžΆαž“αŸƒ node αžαŸ‚αž˜αž½αž™αž‘αŸαŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡ αž€αžΆαžšαž”αžΆαžαŸ‹αž”αž„αŸ‹αž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αžŽαŸ’αžŠαŸ„αŸ‡αž’αžΆαžŸαž“αŸ’αž“αž˜αž½αž™αž…αŸ†αž“αž½αž“αžαŸ’αžšαžΌαžœαžαŸ‚αž™αž€αž˜αž€αž–αž·αž…αžΆαžšαžŽαžΆαž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αžαŸ‹αž±αž“αž…αŸ†αž–αŸ„αŸ‡αž€αŸ†αž αž»αžŸ (αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αž‚αŸ’αž˜αžΆαž“αž€αžΆαžšαž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€)αŸ” αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž…αž„αž…αžΆαŸ†αžαžΆαž€αžΆαžšαž”αŸ’αžαŸαž‡αŸ’αž‰αžΆαž…αž·αžαŸ’αžαž“αžΆαž–αŸαž›αžαŸ’αž˜αžΈαŸ—αž“αŸαŸ‡αž˜αž·αž“αž‘αžΆαž“αŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž†αŸ’αž›αž»αŸ‡αž”αž‰αŸ’αž…αžΆαŸ†αž„αž“αŸ…αž€αŸ’αž“αž»αž„αž…αŸ’αž”αžΆαž”αŸ‹αž…αž˜αŸ’αž›αž„αž‘αžΆαžŸαž€αžšαž‘αŸαŸ” αž€αžΆαžšαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αžŠαŸ‚αž›αž˜αž·αž“αž˜αžΆαž“αž–αŸαž›αž‘αŸ†αž“αŸαžšαž€αŸαž–αž·αž”αžΆαž€αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαž˜αŸ’αžšαŸαž…αž”αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ SQL αŸ”

αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ NoSQL αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™αžŠαŸ„αž™αž’αž˜αŸ’αž˜αž‡αžΆαžαž· αž–αŸ„αž›αž‚αžΊαž§αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž–αž½αž€αžœαžΆ αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ‚αž„αž…αŸ‚αž€αž‘αŸ…αž‡αžΆαž•αŸ’αž“αŸ‚αž€ αž“αž·αž„αž…αŸ‚αž€αž…αžΆαž™αžαžΆαž˜αžαŸ’αž“αžΆαŸ†αž„αž‡αžΆαž…αŸ’αžšαžΎαž“αŸ” αž–αž½αž€αž‚αŸαž‘αžΆαž˜αž‘αžΆαžšαž±αŸ’αž™αž˜αžΆαž“αž—αžΆαž–αž˜αž·αž“αž”αŸ’αžšαž€αŸ’αžšαžαžΈαŸ” αž“αŸαŸ‡αž˜αžΆαž“αž“αŸαž™αžαžΆαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž…αžΌαž›αž€αŸαžαŸ’αžšαžΌαžœαžαŸ‚αž…αž˜αŸ’αž›αž„αž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαž„ αžŠαžΎαž˜αŸ’αž”αžΈαž†αŸ’αž›αžΎαž™αžαž”αž‘αŸ…αž“αžΉαž„αžŸαŸ†αžŽαžΎαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αžŠαŸ‚αž›αž’αŸ’αž“αž€αž•αŸ’αž‰αžΎαŸ” αž‚αŸ„αž›αžŠαŸ…αžšαž½αž˜αž‚αžΊαžŠαžΎαž˜αŸ’αž”αžΈαž‘αž‘αž½αž›αž”αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αžαŸ’αž–αžŸαŸ‹αžŠαŸ„αž™αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž…αŸ†αž“αž½αž“ shards αžŠαŸ‚αž›αž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“αž€αŸ’αž“αž»αž„αž’αŸ†αž‘αž»αž„αž–αŸαž›αž’αžΆαž“αŸ” αž“αŸαŸ‡αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžαžΆ NoSQL αžαž˜αŸ’αžšαžΌαžœαž±αŸ’αž™αž’αŸ’αž“αž€αž’αŸ’αžœαžΎαž‚αŸ†αžšαžΌαžŸαŸ†αžŽαž½αžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αžαžŽαŸˆαžŠαŸ‚αž› SQL αžαž˜αŸ’αžšαžΌαžœαž±αŸ’αž™αž’αŸ’αž“αž€αž’αŸ’αžœαžΎαž‚αŸ†αžšαžΌαž‘αž·αž“αŸ’αž“αž“αŸαž™αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”

NoSQL αž•αŸ’αžαŸ„αžαž›αžΎαž€αžΆαžšαžŸαž˜αŸ’αžšαŸαž…αž”αžΆαž“αž“αžΌαžœαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžαŸ’αž–αžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž…αž„αŸ’αž€αŸ„αž˜αžŠαŸ‚αž›αž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™ αž αžΎαž™αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž αŸαžαž»αž•αž›αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŠαŸ„αŸ‡αžŠαžΌαžšαž€αžΆαžšαžšαž…αž“αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαŸ‚αž›αžšαž½αž˜αž˜αžΆαž“αž€αžΆαžšαž”αžΆαžαŸ‹αž”αž„αŸ‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš ACID αž…αžΌαž›αžšαž½αž˜ αž“αž·αž„αžŸαž“αŸ’αž‘αžŸαŸ’αžŸαž“αŸαž”αž“αŸ’αž‘αžΆαž”αŸ‹αž”αž“αŸ’αžŸαŸ†αž‡αžΆαžŸαž€αž›αŸ”

αž˜αžΆαž“αž’αŸ†αžŽαŸ‡αž’αŸ†αžŽαžΆαž„αž˜αž½αž™αžŠαŸ‚αž›αžαžΆ αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž›αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ NoSQL αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž€αžΆαžšαžŸαžšαžŸαŸαžšαž‡αžΆαž›αžΈαž“αŸαž’αŸŠαŸ‚αžš αž“αž·αž„αž€αžΆαžšαž’αžαŸ‹αž’αŸ’αž˜αžαŸ‹αž›αžΎαž€αŸ†αž αž»αžŸαžαŸ’αž–αžŸαŸ‹ αž€αžΆαžšαž”αžΆαžαŸ‹αž”αž„αŸ‹αž€αžΆαžšαž’αžΆαž“αžΆαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž’αŸ’αžœαžΎαž±αŸ’αž™αž–αž½αž€αž‚αŸαž˜αž·αž“αžŸαŸαž€αŸ’αžαž·αžŸαž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŸαŸ†αžαžΆαž“αŸ‹αž“αŸƒαž”αŸαžŸαž€αž€αž˜αŸ’αž˜αŸ”

αžαžΆαžšαžΆαž„αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž”αž„αŸ’αž αžΆαž‰αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αž‚αŸ†αžšαžΌαž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž€αŸ’αž“αž»αž„ NoSQL αžαž»αžŸαž–αžΈ SQL αŸ”

αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‚αŸ’αžšαžΉαŸ‡αž“αŸƒαž€αžΆαžšαžšαž…αž“αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ - αž€αžΆαžšαž”αŸ’αžšαŸ€αž”αž’αŸ€αž” PostgreSQL, Cassandra αž“αž·αž„ MongoDB

SQL αž“αž·αž„ NoSQLαŸ– αž αŸαžαž»αž’αŸ’αžœαžΈαž…αžΆαŸ†αž”αžΆαž…αŸ‹αž‘αžΆαŸ†αž„αž–αžΈαžš?

αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž–αž·αž—αž–αž–αž·αžαžŠαŸ‚αž›αž˜αžΆαž“αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž˜αž½αž™αž…αŸ†αž“αž½αž“αž’αŸ†αžŠαžΌαž…αž‡αžΆ Amazon.com, Netflix, Uber, αž“αž·αž„ Airbnb αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž—αžΆαžšαž€αž·αž…αŸ’αž…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž€αž·αž…αŸ’αž…αž€αžΆαžšαžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰ αž“αž·αž„αž…αŸ’αžšαžΎαž“αž˜αž»αžαŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ e-commerce αžŠαžΌαž…αž‡αžΆ Amazon.com αžαŸ’αžšαžΌαžœαž€αžΆαžšαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‘αž˜αŸ’αž„αž“αŸ‹αžŸαŸ’αžšαžΆαž› αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŸαŸ†αžαžΆαž“αŸ‹αŸ—αžŠαžΌαž…αž‡αžΆ αž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αž•αž›αž·αžαž•αž› αž€αžΆαžšαž”αž‰αŸ’αž‡αžΆαž‘αž·αž‰ αžœαž·αž€αŸ’αž€αž™αž”αžαŸ’αžš αžšαž½αž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž‘αž·αž“αŸ’αž“αž“αŸαž™αž’αŸ’αž„αž“αŸ‹ αž“αž·αž„αž˜αž·αž“αžŸαžΌαžœαžšαžŸαžΎαž” αžŠαžΌαž…αž‡αžΆαž€αžΆαžšαžœαžΆαž™αžαž˜αŸ’αž›αŸƒαž•αž›αž·αžαž•αž› αžŸαžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžš αžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αŸ” αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™ αž“αž·αž„αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αŸ” αžαžΆαž˜αž’αž˜αŸ’αž˜αž‡αžΆαžαž· αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αžΆαŸ†αž„αž“αŸαŸ‡αž–αžΉαž„αž•αŸ’αž’αŸ‚αž€αž›αžΎαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ SQL αž™αŸ‰αžΆαž„αž αŸ„αž…αžŽαžΆαžŸαŸ‹αž˜αž½αž™ αžšαž½αž˜αž‡αžΆαž˜αž½αž™αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ NoSQL αž™αŸ‰αžΆαž„αžαž·αž…αž˜αž½αž™αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž†αŸ’αž›αž„αžαŸ†αž”αž“αŸ‹ αž“αž·αž„αžŸαž€αž› αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ NoSQL αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‡αžΆαžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž…αŸ‚αž€αž…αžΆαž™αžαžΆαž˜αž—αžΌαž˜αž·αžŸαžΆαžŸαŸ’αžαŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž€αŸ’αž“αž»αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ SQL αž”αŸ’αžšαž—αž–αžŠαŸ‚αž›αž’αžΆαž…αž‘αž»αž€αž…αž·αžαŸ’αžαž”αžΆαž“αžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„αžαŸ†αž”αž“αŸ‹αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αŸ”

តើ YugaByte DB αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆ SQL αž“αž·αž„ NoSQL αž™αŸ‰αžΆαž„αžŠαžΌαž…αž˜αŸ’αžαŸαž…?

αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž•αŸ’αž‘αž»αž€αž…αž˜αŸ’αžšαž»αŸ‡αžŠαŸ‚αž›αžαž˜αŸ’αžšαž„αŸ‹αž‘αž·αžŸαž€αŸ†αžŽαžαŸ‹αž αŸαžαž» αž€αžΆαžšαž”αŸ†αž”αŸ‚αž€αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž€αžΆαžšαž…αž˜αŸ’αž›αž„αž€αžΆαžšαž™αž›αŸ‹αžŸαŸ’αžšαž”αžŠαŸ‚αž›αž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™αžŠαŸ„αž™ sharded αž“αž·αž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™ ACID (αž”αŸ†αž•αž»αžŸαž‚αŸ†αž“αž·αžαžŠαŸ„αž™ Google Spanner) YugaByte DB αž‚αžΊαž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αŸ’αžšαž—αž–αž”αžΎαž€αž…αŸ†αž αžŠαŸ†αž”αžΌαž„αž‚αŸαžšαž”αžŸαŸ‹αž–αž·αž—αž–αž›αŸ„αž€αžŠαŸ‚αž›αž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“αž€αŸ’αž“αž»αž„αž–αŸαž›αžŠαŸ†αžŽαžΆαž›αž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™ NoSQL (Cassandra & Redis) αž“αž·αž„ SQL (PostgreSQL) αŸ” αžŠαžΌαž…αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αž€αŸ’αž“αž»αž„αžαžΆαžšαžΆαž„αžαžΆαž„αž€αŸ’αžšαŸ„αž˜ YCQL αžŠαŸ‚αž›αž‡αžΆ YugaByte DB API αž†αž”αž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™ Cassandra αž”αž“αŸ’αžαŸ‚αž˜αž‚αŸ„αž›αž‚αŸ†αž“αž·αžαž“αŸƒαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš ACID αžαŸ‚αž˜αž½αž™ αž“αž·αž„αž–αž αž»αž‚αž“αŸ’αž›αžΉαŸ‡ αž“αž·αž„αžŸαž“αŸ’αž‘αžŸαŸ’αžŸαž“αŸαž”αž“αŸ’αž‘αžΆαž”αŸ‹αž”αž“αŸ’αžŸαŸ†αž‡αžΆαžŸαž€αž›αž‘αŸ… NoSQL API αžŠαŸ„αž™αž αŸαžαž»αž“αŸαŸ‡αž“αžΆαŸ†αž±αŸ’αž™αžˆαžΆαž“αž…αžΌαž›αž™αž»αž‚αžŸαž˜αŸαž™αž“αŸƒαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ NoSQL αŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡ YCQL αžŠαŸ‚αž›αž‡αžΆ YugaByte DB API αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™ PostgreSQL αž”αž“αŸ’αžαŸ‚αž˜αž‚αŸ„αž›αž‚αŸ†αž“αž·αžαž“αŸƒαž˜αžΆαžαŸ’αžšαžŠαŸ’αž‹αžΆαž“αžŸαžšαžŸαŸαžšαž›αžΈαž“αŸαž’αŸŠαŸ‚αžš αž“αž·αž„αž€αžΆαžšαž’αžαŸ‹αž’αŸ’αž˜αžαŸ‹αž€αŸ†αž αž»αžŸαžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž‘αŸ… SQL API αžŠαŸ„αž™αž“αžΆαŸ†αž™αž€αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ SQL αž…αŸ‚αž€αž…αžΆαž™αž‘αŸ…αž€αžΆαž“αŸ‹αž–αž·αž—αž–αž›αŸ„αž€αŸ” αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚ YugaByte DB αž‚αžΊαž‡αžΆαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž’αž˜αŸ’αž˜αž‡αžΆαžαž· αžŠαžΌαž…αŸ’αž“αŸαŸ‡ NoSQL API αž₯αž‘αžΌαžœαž“αŸαŸ‡αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αž”αž‘αž“αŸƒαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŸαŸ†αžαžΆαž“αŸ‹αž“αŸƒαž”αŸαžŸαž€αž€αž˜αŸ’αž˜αŸ”

αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‚αŸ’αžšαžΉαŸ‡αž“αŸƒαž€αžΆαžšαžšαž…αž“αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ - αž€αžΆαžšαž”αŸ’αžšαŸ€αž”αž’αŸ€αž” PostgreSQL, Cassandra αž“αž·αž„ MongoDB

αžŠαžΌαž…αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž–αžΈαž˜αž»αž“αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘ "αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ† YSQL: PostgreSQL Compatible Distributed SQL API αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ YugaByte DB"αž‡αž˜αŸ’αžšαžΎαžŸαžšαžœαžΆαž„ SQL ឬ NoSQL αž€αŸ’αž“αž»αž„ YugaByte DB αž’αžΆαžŸαŸ’αžšαŸαž™αž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„αž›αžΎαž›αž€αŸ’αžαžŽαŸˆαž“αŸƒαž”αž“αŸ’αž‘αž»αž€αž€αžΆαžšαž„αžΆαžšαŸ–

  • αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž”αž“αŸ’αž‘αž»αž€αž€αžΆαžšαž„αžΆαžšαž…αž˜αŸ’αž”αž„αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž‚αžΊαž‡αžΆαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš JOIN αž…αŸ’αžšαžΎαž“αž‚αŸ’αžšαžΆαž”αŸ‹ αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž“αŸ…αž–αŸαž›αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸ YSQL αžŸαžΌαž˜αž™αž›αŸ‹αžαžΆαž€αžΌαž“αžŸαŸ„αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™αžαžΆαž˜αžαŸ’αž“αžΆαŸ†αž„αž…αŸ’αžšαžΎαž“ αžŠαŸ‚αž›αž”αžŽαŸ’αžαžΆαž›αž±αŸ’αž™αž˜αžΆαž“αž—αžΆαž–αž™αžΊαžαž™αŸ‰αžΆαžœαžαŸ’αž–αžŸαŸ‹ αž“αž·αž„/αž¬αž”αž‰αŸ’αž‡αžΌαž“αž…αžšαž“αŸ’αžαž‘αžΆαž”αž‡αžΆαž„ NoSQL αŸ”
  • αž”αžΎαž˜αž·αž“αžŠαžΌαž…αŸ’αž“αŸ„αŸ‡αž‘αŸ αžŸαžΌαž˜αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸ NoSQL APIs αžŽαžΆαž˜αž½αž™αž€αŸ’αž“αž»αž„αž…αŸ†αž“αŸ„αž˜ NoSQL APIs αž‘αžΆαŸ†αž„αž–αžΈαžš αžŠαŸ„αž™αž…αž„αž…αžΆαŸ†αžαžΆαž’αŸ’αž“αž€αž“αžΉαž„αž‘αž‘αž½αž›αž”αžΆαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžΆαž“αŸ‹αžαŸ‚αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αž‡αžΆαž›αž‘αŸ’αž’αž•αž›αž“αŸƒαžŸαŸ†αžŽαž½αžšαžŠαŸ‚αž›αž”αžΆαž“αž”αž˜αŸ’αžšαžΎαž–αžΈαžαŸ’αž“αžΆαŸ†αž„αž˜αž½αž™αž€αŸ’αž“αž»αž„αž–αŸαž›αžαŸ‚αž˜αž½αž™αŸ” YugaByte DB αž’αžΆαž…β€‹αž”αž˜αŸ’αžšαžΎβ€‹αž‡αžΆβ€‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“β€‹αž‘αž·αž“αŸ’αž“αž“αŸαž™β€‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšβ€‹αžαŸ‚β€‹αž˜αž½αž™β€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž–αž·αž—αž–β€‹αž–αž·αžβ€‹αž‡αžΆβ€‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈβ€‹αžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰β€‹αžŠαŸ‚αž›β€‹αžαŸ’αžšαžΌαžœβ€‹αž€αžΆαžšβ€‹αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„β€‹αž”αž“αŸ’αž‘αž»αž€β€‹αž€αžΆαžšαž„αžΆαžšβ€‹αž…αŸ’αžšαžΎαž“β€‹αž€αŸ’αž“αž»αž„β€‹αž–αŸαž›β€‹αžŠαŸ†αžŽαžΆαž›β€‹αž‚αŸ’αž“αžΆαŸ”

αž˜αž“αŸ’αž‘αžΈαžšαž–αž·αžŸαŸ„αž’αž“αŸαž‚αŸ†αžšαžΌαž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž“αŸ‚αž€αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž‚αžΊαž•αŸ’αž’αŸ‚αž€αž›αžΎαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ PostgreSQL αž“αž·αž„ Cassandra API αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž“αžΉαž„ YugaByte DB αžŠαŸ‚αž›αž•αŸ’αž‘αž»αž™αž–αžΈαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαžΎαž˜αŸ” αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž“αŸαŸ‡αžŸαž„αŸ’αž€αžαŸ‹αž’αŸ’αž„αž“αŸ‹αž›αžΎαž—αžΆαž–αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž“αŸƒαž€αžΆαžšαž’αŸ’αžœαžΎαž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™ APIs αž–αžΈαžšαž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆ (αž“αŸ…αž›αžΎαž…αŸ’αžšαž€αž–αžΈαžšαž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆ) αž“αŸƒ cluster αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαžΌαž…αž‚αŸ’αž“αžΆ αž•αŸ’αž‘αž»αž™αž–αžΈαž€αžΆαžšαž”αŸ’αžšαžΎ clusters αž―αž€αžšαžΆαž‡αŸ’αž™αž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„αž“αŸƒ databases αž–αžΈαžšαž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆαŸ”
αž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ„αž˜ αž™αžΎαž„αž“αžΉαž„αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž˜αž“αŸ’αž‘αžΈαžšαž–αž·αžŸαŸ„αž’αž“αŸαž‚αŸ†αžšαžΌαž‘αž·αž“αŸ’αž“αž“αŸαž™ αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž αžΆαž‰αž–αžΈαž—αžΆαž–αžαž»αžŸαž‚αŸ’αž“αžΆ αž“αž·αž„αž—αžΆαž–αžŸαžΆαž˜αž‰αŸ’αž‰αž˜αž½αž™αž…αŸ†αž“αž½αž“αž“αŸƒαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž‚αŸ’αžšαž”αžŠαžŽαŸ’αžαž”αŸ‹αŸ”

αž˜αž“αŸ’αž‘αžΈαžšαž–αž·αžŸαŸ„αž’αž“αŸαž‚αŸ†αžšαžΌαž‘αž·αž“αŸ’αž“αž“αŸαž™

αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™

αžŠαŸ„αž™αž˜αžΆαž“αž€αžΆαžšαžŸαž„αŸ’αž€αžαŸ‹αž’αŸ’αž„αž“αŸ‹αž›αžΎαž€αžΆαžšαžšαž…αž“αžΆαž‚αŸ†αžšαžΌαž‘αž·αž“αŸ’αž“αž“αŸαž™ (αž‡αžΆαž‡αžΆαž„αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αž“αŸƒαž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰) αž™αžΎαž„αž“αžΉαž„αžŠαŸ†αž‘αžΎαž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž€αŸ’αž“αž»αž„ Docker containers αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“ αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž’αŸ’αžœαžΎαž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™αž–αž½αž€αžœαžΆαžŠαŸ„αž™αž”αŸ’αžšαžΎαžŸαŸ‚αž›αž”αž“αŸ’αž‘αžΆαžαŸ‹αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžšαŸ€αž„αŸ—αžαŸ’αž›αž½αž“αŸ”

αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžšαž”αžŸαŸ‹ PostgreSQL & Cassandra αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž“αžΉαž„ YugaByte DB

mkdir ~/yugabyte && cd ~/yugabyte
wget https://downloads.yugabyte.com/yb-docker-ctl && chmod +x yb-docker-ctl
docker pull yugabytedb/yugabyte
./yb-docker-ctl create --enable_postgres

MongoDB

docker run --name my-mongo -d mongo:latest

αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž”αž“αŸ’αž‘αžΆαžαŸ‹αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ

αž…αžΌαžšαž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ„αž™αž”αŸ’αžšαžΎαžŸαŸ‚αž›αž”αž“αŸ’αž‘αžΆαžαŸ‹αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ APIs αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαŸ”

PostgreSQL

psql αž‚αžΊαž‡αžΆαžŸαŸ‚αž›αž”αž“αŸ’αž‘αžΆαžαŸ‹αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αžœαžΎαž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™ PostgreSQL αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž„αžΆαž™αžŸαŸ’αžšαž½αž›αž”αŸ’αžšαžΎ YugaByte DB αž—αŸ’αž‡αžΆαž”αŸ‹αž˜αž€αž‡αžΆαž˜αž½αž™ psql αžαžΆαž„αžŸαŸ’αžαžΆαŸ†αž“αŸ…αž€αŸ’αž“αž»αž„αžαžαž―αž€αžŸαžΆαžšαŸ”

docker exec -it yb-postgres-n1 /home/yugabyte/postgres/bin/psql -p 5433 -U postgres

Cassandra

cqlsh αž‚αžΊαž‡αžΆαžŸαŸ‚αž›αž”αž“αŸ’αž‘αžΆαžαŸ‹αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αžœαžΎαž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™ Cassandra αž“αž·αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαžšαž”αžŸαŸ‹αžœαžΆαžαžΆαž˜αžšαž™αŸˆ CQL (αž—αžΆαžŸαžΆ Cassandra Query) αŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αžΆαž–αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž“αŸƒαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ YugaByte DB αž—αŸ’αž‡αžΆαž”αŸ‹αž˜αž€αž‡αžΆαž˜αž½αž™ cqlsh αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžαžΆαž‘αž»αž€ bin.
αž…αŸ†αžŽαžΆαŸ†αžαžΆ CQL αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ†αž•αž»αžŸαž‚αŸ†αž“αž·αžαžŠαŸ„αž™ SQL αž“αž·αž„αž˜αžΆαž“αž‚αŸ„αž›αž‚αŸ†αž“αž·αžαžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαž“αŸƒαžαžΆαžšαžΆαž„ αž‡αž½αžšαžŠαŸαž€ αž‡αž½αžšαžˆαžš αž“αž·αž„αž›αž·αž”αž·αž€αŸ’αžšαž˜αŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž‡αžΆαž—αžΆαžŸαžΆ NoSQL αžœαžΆαž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™ αžŠαŸ‚αž›αž—αžΆαž‚αž…αŸ’αžšαžΎαž“αž™αžΎαž„αž“αžΉαž„αžšαŸ€αž”αžšαžΆαž”αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž•αž„αžŠαŸ‚αžšαŸ”

docker exec -it yb-tserver-n1 /home/yugabyte/bin/cqlsh

MongoDB

mongo αž‚αžΊαž‡αžΆαžŸαŸ‚αž›αž”αž“αŸ’αž‘αžΆαžαŸ‹αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αžœαžΎαž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™ MongoDB αŸ” αžœαžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αžƒαžΎαž‰αž“αŸ…αž€αŸ’αž“αž»αž„ bin directory αž“αŸƒαž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ MongoDB αŸ”

docker exec -it my-mongo bash 
cd bin
mongo

αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαžαžΆαžšαžΆαž„

αž₯αž‘αžΌαžœαž“αŸαŸ‡αž™αžΎαž„αž’αžΆαž…αž’αŸ’αžœαžΎαž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαžΎαž˜αŸ’αž”αžΈαž’αž“αž»αžœαžαŸ’αžαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž•αŸ’αžŸαŸαž„αŸ—αžŠαŸ„αž™αž”αŸ’αžšαžΎαž”αž“αŸ’αž‘αžΆαžαŸ‹αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαŸ” αž…αžΌαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ„αž™αž”αž„αŸ’αž€αžΎαžαžαžΆαžšαžΆαž„αžŠαŸ‚αž›αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαž”αž‘αž…αž˜αŸ’αžšαŸ€αž„αžŠαŸ‚αž›αž“αž·αž–αž“αŸ’αž’αžŠαŸ„αž™αžŸαž·αž›αŸ’αž”αž€αžšαž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆαŸ” αž”αž‘αž…αž˜αŸ’αžšαŸ€αž„αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž’αžΆαž…αž‡αžΆαž•αŸ’αž“αŸ‚αž€αž˜αž½αž™αž“αŸƒαž’αžΆαž›αŸ‹αž”αŸŠαž»αž˜αŸ” αž‚αž»αžŽαž›αž€αŸ’αžαžŽαŸˆαž‡αžΆαž‡αž˜αŸ’αžšαžΎαžŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž‘αž…αž˜αŸ’αžšαŸ€αž„αž˜αž½αž™αž‚αžΊαž†αŸ’αž“αžΆαŸ†αž“αŸƒαž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™ αžαž˜αŸ’αž›αŸƒ αž”αŸ’αžšαž—αŸαž‘ αž“αž·αž„αž€αžΆαžšαžœαžΆαž™αžαž˜αŸ’αž›αŸƒαŸ” αž™αžΎαž„αžαŸ’αžšαžΌαžœαž‚αž·αžαž‚αžΌαžšαž’αŸ†αž–αžΈαž‚αž»αžŽαž›αž€αŸ’αžαžŽαŸˆαž”αž“αŸ’αžαŸ‚αž˜αžŠαŸ‚αž›αž’αžΆαž…αžαŸ’αžšαžΌαžœαž€αžΆαžšαž“αžΆαž–αŸαž›αž’αž“αžΆαž‚αžαžαžΆαž˜αžšαž™αŸˆαžœαžΆαž› "αžŸαŸ’αž›αžΆαž€" αŸ” αžœαžΆαž’αžΆαž…αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž–αžΆαž€αŸ‹αž€αžŽαŸ’αžαžΆαž›αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž‡αžΆαž‚αžΌαžαž˜αŸ’αž›αŸƒαž‚αž“αŸ’αž›αžΉαŸ‡αŸ”

PostgreSQL

CREATE TABLE Music (
    Artist VARCHAR(20) NOT NULL, 
    SongTitle VARCHAR(30) NOT NULL,
    AlbumTitle VARCHAR(25),
    Year INT,
    Price FLOAT,
    Genre VARCHAR(10),
    CriticRating FLOAT,
    Tags TEXT,
    PRIMARY KEY(Artist, SongTitle)
);	

Cassandra

αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαžαžΆαžšαžΆαž„αž“αŸ…αž€αŸ’αž“αž»αž„ Cassandra αž‚αžΊαžŸαŸ’αžšαžŠαŸ€αž„αž‘αŸ…αž“αžΉαž„ PostgreSQL αŸ” αž—αžΆαž–αžαž»αžŸαž”αŸ’αž›αŸ‚αž€αž‚αŸ’αž“αžΆαžŠαŸαžŸαŸ†αžαžΆαž“αŸ‹αž˜αž½αž™αž‚αžΊαž€αžΆαžšαžαŸ’αžœαŸ‡αž€αžΆαžšαžšαžΉαžαžαŸ’αž”αž·αžαž—αžΆαž–αžŸαž»αž…αžšαž·αž (ឧ. αž˜αž·αž“αž˜αŸ‚αž“ NULL) αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž‘αŸ†αž“αž½αž›αžαž»αžŸαžαŸ’αžšαžΌαžœαžšαž”αžŸαŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ NoSQL αž‘αŸαŸ”. αžŸαŸ„αž…αž˜αŸ’αž”αž„αž˜αžΆαž“αžŸαŸ„αž—αžΆαž‚αžαžΆαžŸ (αž‡αž½αžšαžˆαžšαžŸαž·αž›αŸ’αž”αž€αžšαž€αŸ’αž“αž»αž„αž§αž‘αžΆαž αžšαžŽαŸαžαžΆαž„αž€αŸ’αžšαŸ„αž˜) αž“αž·αž„αžŸαŸ†αžŽαž»αŸ†αž“αŸƒαž‡αž½αžšαžˆαžšαž…αž„αŸ’αž€αŸ„αž˜ (αž‡αž½αžšαžˆαžš SongTitle αž€αŸ’αž“αž»αž„αž§αž‘αžΆαž αžšαžŽαŸαžαžΆαž„αž€αŸ’αžšαŸ„αž˜)αŸ” αž‚αŸ’αžšαžΆαž”αŸ‹αž…αž»αž…αž—αžΆαž‚αžαžΆαžŸαž€αŸ†αžŽαžαŸ‹αžαžΆαžαžΎαž—αžΆαž‚αžαžΆαžŸ/αž—αžΆαž‚αžαžΆαžŸαž˜αž½αž™αžŽαžΆαž‚αž½αžšαžαŸ‚αžŠαžΆαž€αŸ‹αž‡αž½αžšαžŠαŸαž€αž…αžΌαž› αž αžΎαž™αž‡αž½αžšαžˆαžšαž…αž„αŸ’αž€αŸ„αž˜αž”αž„αŸ’αž αžΆαž‰αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‚αž½αžšαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαŸ€αž”αž…αŸ†αž“αŸ…αž€αŸ’αž“αž»αž„ shard αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αŸ”

CREATE KEYSPACE myapp;
USE myapp;
CREATE TABLE Music (
    Artist TEXT, 
    SongTitle TEXT,
    AlbumTitle TEXT,
    Year INT,
    Price FLOAT,
    Genre TEXT,
    CriticRating FLOAT,
    Tags TEXT,
    PRIMARY KEY(Artist, SongTitle)
);

MongoDB

MongoDB αžšαŸ€αž”αž…αŸ†αž‘αž·αž“αŸ’αž“αž“αŸαž™αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ (Database) (αžŸαŸ’αžšαžŠαŸ€αž„αž‘αŸ…αž“αžΉαž„ Keyspace αž“αŸ…αž€αŸ’αž“αž»αž„ Cassandra) αžŠαŸ‚αž›αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αž˜αžΆαž“αž”αžŽαŸ’αžαž»αŸ† (αžŸαŸ’αžšαžŠαŸ€αž„αž“αžΉαž„αžαžΆαžšαžΆαž„) αžŠαŸ‚αž›αž˜αžΆαž“αž―αž€αžŸαžΆαžš (αžŸαŸ’αžšαžŠαŸ€αž„αž“αžΉαž„αž‡αž½αžšαžŠαŸαž€αž€αŸ’αž“αž»αž„αžαžΆαžšαžΆαž„)αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„ MongoDB αž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž€αŸ†αžŽαžαŸ‹αž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸαžŠαŸ†αž”αžΌαž„αž‘αŸαŸ” αž€αŸ’αžšαž»αž˜ "αž”αŸ’αžšαžΎαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™"αž”αž„αŸ’αž αžΆαž‰αžαžΆαž„αž€αŸ’αžšαŸ„αž˜ αž’αŸ’αžœαžΎαž±αŸ’αž™αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž—αŸ’αž›αžΆαž˜αŸ—αž“αŸ…αž›αžΎαž€αžΆαžšαž αŸ…αž‘αžΌαžšαžŸαž–αŸ’αž‘αž›αžΎαž€αžŠαŸ†αž”αžΌαž„ αž“αž·αž„αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž”αžšαž·αž”αž‘αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαžαŸ’αž˜αžΈαŸ” αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž”αžŽαŸ’αžαž»αŸ†αž€αŸαž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž”αž„αŸ’αž€αžΎαžαž±αŸ’αž™αž…αŸ’αž”αžΆαžŸαŸ‹αž›αžΆαžŸαŸ‹αžŠαŸ‚αžš αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž“αŸ…αž–αŸαž›αž’αŸ’αž“αž€αž”αž“αŸ’αžαŸ‚αž˜αž―αž€αžŸαžΆαžšαžŠαŸ†αž”αžΌαž„αž‘αŸ…αž”αžŽαŸ’αžαž»αŸ†αžαŸ’αž˜αžΈαŸ” αž…αŸ†αžŽαžΆαŸ†αžαžΆ MongoDB αž”αŸ’αžšαžΎαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŸαžΆαž€αž›αŸ’αž”αž„αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž€αž˜αŸ’αžšαž·αžαž”αŸ’αžšαž˜αžΌαž›αžŽαžΆαž˜αž½αž™αžŠαŸ„αž™αž˜αž·αž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž“αžΉαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΎαžœαžΆαžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αŸ”

use myNewDatabase;

αž‘αž‘αž½αž›αž”αžΆαž“αž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαžαžΆαžšαžΆαž„
PostgreSQL

d Music
Table "public.music"
    Column    |         Type          | Collation | Nullable | Default 
--------------+-----------------------+-----------+----------+--------
 artist       | character varying(20) |           | not null | 
 songtitle    | character varying(30) |           | not null | 
 albumtitle   | character varying(25) |           |          | 
 year         | integer               |           |          | 
 price        | double precision      |           |          | 
 genre        | character varying(10) |           |          | 
 criticrating | double precision      |           |          | 
 tags         | text                  |           |          | 
Indexes:
    "music_pkey" PRIMARY KEY, btree (artist, songtitle)

Cassandra

DESCRIBE TABLE MUSIC;
CREATE TABLE myapp.music (
    artist text,
    songtitle text,
    albumtitle text,
    year int,
    price float,
    genre text,
    tags text,
    PRIMARY KEY (artist, songtitle)
) WITH CLUSTERING ORDER BY (songtitle ASC)
    AND default_time_to_live = 0
    AND transactions = {'enabled': 'false'};

MongoDB

use myNewDatabase;
show collections;

αž€αžΆαžšαž”αž‰αŸ’αž…αžΌαž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αŸ…αž€αŸ’αž“αž»αž„αžαžΆαžšαžΆαž„
PostgreSQL

INSERT INTO Music 
    (Artist, SongTitle, AlbumTitle, 
    Year, Price, Genre, CriticRating, 
    Tags)
VALUES(
    'No One You Know', 'Call Me Today', 'Somewhat Famous',
    2015, 2.14, 'Country', 7.8,
    '{"Composers": ["Smith", "Jones", "Davis"],"LengthInSeconds": 214}'
);
INSERT INTO Music 
    (Artist, SongTitle, AlbumTitle, 
    Price, Genre, CriticRating)
VALUES(
    'No One You Know', 'My Dog Spot', 'Hey Now',
    1.98, 'Country', 8.4
);
INSERT INTO Music 
    (Artist, SongTitle, AlbumTitle, 
    Price, Genre)
VALUES(
    'The Acme Band', 'Look Out, World', 'The Buck Starts Here',
    0.99, 'Rock'
);
INSERT INTO Music 
    (Artist, SongTitle, AlbumTitle, 
    Price, Genre, 
    Tags)
VALUES(
    'The Acme Band', 'Still In Love', 'The Buck Starts Here',
    2.47, 'Rock', 
    '{"radioStationsPlaying": ["KHCR", "KBQX", "WTNR", "WJJH"], "tourDates": { "Seattle": "20150625", "Cleveland": "20150630"}, "rotation": Heavy}'
);

Cassandra

αž€αžΆαžšαž”αž‰αŸ’αž…αŸαž‰αž˜αžαž·αžšαž½αž˜ INSERT αž“αŸ…αž€αŸ’αž“αž»αž„ Cassandra αž˜αžΎαž›αž‘αŸ…αžŸαŸ’αžšαžŠαŸ€αž„αž“αžΉαž„αžœαžΆαž“αŸ…αž€αŸ’αž“αž»αž„ PostgreSQL αŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž˜αžΆαž“αž—αžΆαž–αžαž»αžŸαž”αŸ’αž›αŸ‚αž€αž‚αŸ’αž“αžΆαžŠαŸαž’αŸ†αž˜αž½αž™αž“αŸ…αž€αŸ’αž“αž»αž„αž“αŸαž™αžœαž·αž‘αŸ’αž™αžΆαŸ” αž“αŸ… Cassandra INSERT αžαžΆαž˜αž–αž·αžαž‚αžΊαž‡αžΆαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž˜αž½αž™αŸ” UPSERTαžŠαŸ‚αž›αž‡αžΆαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αžαž˜αŸ’αž›αŸƒαž…αž»αž„αž€αŸ’αžšαŸ„αž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ…αž‡αž½αžšαžŠαŸαž€αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž‡αž½αžšαžŠαŸαž€αž˜αžΆαž“αžšαž½αž…αž αžΎαž™αŸ”

αž€αžΆαžšαž”αž‰αŸ’αž…αžΌαž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‚αžΊαžŸαŸ’αžšαžŠαŸ€αž„αž“αžΉαž„ PostgreSQL INSERT αžαŸ’αž–αžŸαŸ‹αž‡αžΆαž„αž“αŸαŸ‡

.

MongoDB

αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆ MongoDB αž‚αžΊαž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ NoSQL αžŠαžΌαž… Cassandra αž€αŸαžŠαŸ„αž™ αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž“αŸƒαž€αžΆαžšαž”αž‰αŸ’αž…αžΌαž›αžšαž”αžŸαŸ‹αžœαžΆαž˜αž·αž“αž˜αžΆαž“αž’αŸ’αžœαžΈαžŠαžΌαž…αž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž’αžΆαž€αž”αŸ’αž”αž€αž·αžšαž·αž™αžΆ semantic αžšαž”αžŸαŸ‹ Cassandra αŸ” αž“αŸ… MongoDB αž”αž‰αŸ’αž…αžΌαž› () αž˜αž·αž“αž˜αžΆαž“αž±αž€αžΆαžŸαž‘αŸαŸ” UPSERTαžŠαŸ‚αž›αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαžŸαŸ’αžšαžŠαŸ€αž„αž‘αŸ…αž“αžΉαž„ PostgreSQL αŸ” αž€αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜αž‘αž·αž“αŸ’αž“αž“αŸαž™αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“ _idspecified αž“αžΉαž„αž’αŸ’αžœαžΎαž±αŸ’αž™αž―αž€αžŸαžΆαžšαžαŸ’αž˜αžΈαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ…αž”αžŽαŸ’αžαž»αŸ†αŸ”

db.music.insert( {
artist: "No One You Know",
songTitle: "Call Me Today",
albumTitle: "Somewhat Famous",
year: 2015,
price: 2.14,
genre: "Country",
tags: {
Composers: ["Smith", "Jones", "Davis"],
LengthInSeconds: 214
}
}
);
db.music.insert( {
artist: "No One You Know",
songTitle: "My Dog Spot",
albumTitle: "Hey Now",
price: 1.98,
genre: "Country",
criticRating: 8.4
}
);
db.music.insert( {
artist: "The Acme Band",
songTitle: "Look Out, World",
albumTitle:"The Buck Starts Here",
price: 0.99,
genre: "Rock"
}
);
db.music.insert( {
artist: "The Acme Band",
songTitle: "Still In Love",
albumTitle:"The Buck Starts Here",
price: 2.47,
genre: "Rock",
tags: {
radioStationsPlaying:["KHCR", "KBQX", "WTNR", "WJJH"],
tourDates: {
Seattle: "20150625",
Cleveland: "20150630"
},
rotation: "Heavy"
}
}
);

αžŸαŸ†αžŽαž½αžšαžαžΆαžšαžΆαž„

αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž—αžΆαž–αžαž»αžŸαž‚αŸ’αž“αžΆαžŠαŸαžŸαŸ†αžαžΆαž“αŸ‹αž”αŸ†αž•αž»αžαžšαžœαžΆαž„ SQL αž“αž·αž„ NoSQL αž“αŸ…αž€αŸ’αž“αž»αž„αž›αž€αŸ’αžαžαžŽαŸ’αžŒαž“αŸƒαž€αžΆαžšαžŸαžΆαž„αžŸαž„αŸ‹αžŸαŸ†αžŽαž½αžšαž‚αžΊαž‡αžΆαž—αžΆαžŸαžΆαžŠαŸ‚αž›αž”αžΆαž“αž”αŸ’αžšαžΎ FROM ΠΈ WHERE. SQL αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž”αž‰αŸ’αž…αŸαž‰αž˜αžαž· FROM αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαžαžΆαžšαžΆαž„αž…αŸ’αžšαžΎαž“ αž“αž·αž„αž€αž“αŸ’αžŸαŸ„αž˜αž‡αžΆαž˜αž½αž™ WHERE αž’αžΆαž…αž˜αžΆαž“αž—αžΆαž–αžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰αžŽαžΆαž˜αž½αž™ (αžšαž½αž˜αž‘αžΆαŸ†αž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš JOIN αžšαžœαžΆαž„αžαž») αŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ NoSQL αž˜αžΆαž“αž‘αŸ†αž“αŸ„αžšαž“αžΉαž„αžŠαžΆαž€αŸ‹αž€αž˜αŸ’αžšαž·αžαž’αŸ’αž„αž“αŸ‹αž’αŸ’αž„αžš FROMαž“αž·αž„αž’αŸ’αžœαžΎαž€αžΆαžšαžαŸ‚αž‡αžΆαž˜αž½αž™αžαžΆαžšαžΆαž„αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž˜αž½αž™ αž“αž·αž„αž“αŸ…αž€αŸ’αž“αž»αž„ WHEREαž€αžΌαž“αžŸαŸ„αž…αž˜αŸ’αž”αž„αžαŸ’αžšαžΌαžœαžαŸ‚αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αž‡αžΆαž“αž·αž…αŸ’αž…αŸ” αž“αŸαŸ‡αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž“αžΉαž„αž€αžΆαžšαž‡αŸ†αžšαž»αž‰αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž NoSQL αžŠαŸ‚αž›αž™αžΎαž„αž”αžΆαž“αž“αž·αž™αžΆαž™αž–αžΈαž˜αž»αž“αŸ” αž”αŸ†αžŽαž„αž”αŸ’αžšαžΆαžαŸ’αž“αžΆαž“αŸαŸ‡αž“αžΆαŸ†αž‘αŸ…αžšαž€αž€αžΆαžšαž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αžŠαŸ‚αž›αž’αžΆαž…αž€αžΎαžαž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž†αŸ’αž›αž„αžαžΆαžšαžΆαž„ αž“αž·αž„αž‚αž“αŸ’αž›αžΉαŸ‡αž†αŸ’αž›αž„αŸ” αžœαžΆαž’αžΆαž…αžŽαŸ‚αž“αžΆαŸ†αž€αžΆαžšαž–αž“αŸ’αž™αžΆαž–αŸαž›αžŠαŸαž’αŸ†αž˜αž½αž™αž€αŸ’αž“αž»αž„αž€αžΆαžšαž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž’αž“αŸ’αžαžšαžαŸ’αž“αžΆαŸ†αž„ αž“αŸ…αž–αŸαž›αž†αŸ’αž›αžΎαž™αžαž”αž“αžΉαž„αžŸαŸ†αžŽαžΎ αž αžΎαž™αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž‡αžΆαž‘αžΌαž‘αŸ…αž‡αŸ€αžŸαžœαžΆαž„αž”αžΆαž“αž›αŸ’αž’αž”αŸ†αž•αž»αžαŸ” αž§αž‘αžΆαž αžšαžŽαŸ Cassandra αžαž˜αŸ’αžšαžΌαžœαž±αŸ’αž™αžŸαŸ†αžŽαž½αžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž…αŸ†αž–αŸ„αŸ‡αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžšαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹ (αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ‚ =, IN, <, >, =>, <=) αž“αŸ…αž›αžΎαžŸαŸ„αž—αžΆαž‚αžαžΆαžŸ αž›αžΎαž€αž›αŸ‚αž„αžαŸ‚αž–αŸαž›αžŸαŸ’αž“αžΎαžŸαž»αŸ†αž›αž·αž”αž·αž€αŸ’αžšαž˜αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž”αž“αŸ’αžŸαŸ† (αž˜αžΆαž“αžαŸ‚αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžš = αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž“αŸ…αž‘αžΈαž“αŸαŸ‡)αŸ”

PostgreSQL

αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž“αŸαŸ‡αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸαž”αžΈαž“αŸƒαžŸαŸ†αžŽαž½αžšαžŠαŸ‚αž›αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž™αŸ‰αžΆαž„αž„αžΆαž™αžŸαŸ’αžšαž½αž›αžŠαŸ„αž™αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ SQL αŸ”

  • αž”αž„αŸ’αž αžΆαž‰αž”αž‘αž…αž˜αŸ’αžšαŸ€αž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ„αž™αžŸαž·αž›αŸ’αž”αž€αžš;
  • αž”αž„αŸ’αž αžΆαž‰αž”αž‘αž…αž˜αŸ’αžšαŸ€αž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ„αž™αžŸαž·αž›αŸ’αž”αž€αžšαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž“αžΉαž„αž•αŸ’αž“αŸ‚αž€αžŠαŸ†αž”αžΌαž„αž“αŸƒαž…αŸ†αžŽαž„αž‡αžΎαž„αŸ”
  • αž”αž„αŸ’αž αžΆαž‰αž”αž‘αž…αž˜αŸ’αžšαŸ€αž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ„αž™αžŸαž·αž›αŸ’αž”αž€αžšαžŠαŸ‚αž›αž˜αžΆαž“αž–αžΆαž€αŸ’αž™αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαž„αž‡αžΎαž„ αž“αž·αž„αž˜αžΆαž“αžαž˜αŸ’αž›αŸƒαžαž·αž…αž‡αžΆαž„ 1.00αŸ”
SELECT * FROM Music
WHERE Artist='No One You Know';
SELECT * FROM Music
WHERE Artist='No One You Know' AND SongTitle LIKE 'Call%';
SELECT * FROM Music
WHERE Artist='No One You Know' AND SongTitle LIKE '%Today%'
AND Price > 1.00;

Cassandra

αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜αžŸαŸ†αžŽαž½αžš PostgreSQL αžŠαŸ‚αž›αž”αžΆαž“αžšαžΆαž™αžαžΆαž„αž›αžΎ αž˜αžΆαž“αžαŸ‚αžŸαŸ†αžŽαž½αžšαž‘αžΈαž˜αž½αž™αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αžŠαŸ‚αž›αž“αžΉαž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž˜αž·αž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž“αŸ…αž€αŸ’αž“αž»αž„ Cassandra αž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžš LIKE αž˜αž·αž“β€‹αž’αžΆαž…β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž’αž“αž»αžœαžαŸ’αžβ€‹αž‘αŸ…β€‹αž“αžΉαž„β€‹αž‡αž½αžšβ€‹αžˆαžšβ€‹αž‡αžΆβ€‹αž€αŸ’αžšαž»αž˜β€‹αžŠαžΌαž…β€‹αž‡αžΆ SongTitle. αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡αž˜αžΆαž“αžαŸ‚αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžšαž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αž‰αŸ’αž‰αžΆαž = ΠΈ IN.

SELECT * FROM Music
WHERE Artist='No One You Know';
SELECT * FROM Music
WHERE Artist='No One You Know' AND SongTitle IN ('Call Me Today', 'My Dog Spot')
AND Price > 1.00;

MongoDB

αžŠαžΌαž…αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αž“αŸ…αž€αŸ’αž“αž»αž„αž§αž‘αžΆαž αžšαžŽαŸαž˜αž»αž“ αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαžŸαŸ†αžαžΆαž“αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž„αŸ’αž€αžΎαžαžŸαŸ†αžŽαž½αžšαž“αŸ…αž€αŸ’αž“αž»αž„ MongoDB αž‚αžΊ db.collection.find(). αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž“αŸαŸ‡αž˜αžΆαž“αžˆαŸ’αž˜αŸ„αŸ‡αž“αŸƒαž”αžŽαŸ’αžαž»αŸ† (music αž€αŸ’αž“αž»αž„αž§αž‘αžΆαž αžšαžŽαŸαžαžΆαž„αž€αŸ’αžšαŸ„αž˜) αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž€αžΆαžšαžŸαžΆαž€αžŸαž½αžšαž”αžŽαŸ’αžαž»αŸ†αž…αŸ’αžšαžΎαž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž αžΆαž˜αžƒαžΆαžαŸ‹αŸ”

db.music.find( {
  artist: "No One You Know"
 } 
);
db.music.find( {
  artist: "No One You Know",
  songTitle: /Call/
 } 
);

αž€αžΆαžšαž’αžΆαž“αž‡αž½αžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸƒαžαžΆαžšαžΆαž„

αž€αžΆαžšαž’αžΆαž“αž‡αž½αžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž‡αžΆαž€αžšαžŽαžΈαž–αž·αžŸαŸαžŸαž“αŸƒαž‚αŸ†αžšαžΌαžŸαŸ†αžŽαž½αžšαžŠαŸ‚αž›αž™αžΎαž„αž”αžΆαž“αž˜αžΎαž›αž–αžΈαž˜αž»αž“αŸ”

PostgreSQL

SELECT * 
FROM Music;

Cassandra

αžŸαŸ’αžšαžŠαŸ€αž„αž‘αŸ…αž“αžΉαž„αž§αž‘αžΆαž αžšαžŽαŸ PostgreSQL αžαžΆαž„αž›αžΎαŸ”

MongoDB

db.music.find( {} );

αž€αžΆαžšαž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αž€αŸ’αž“αž»αž„αžαžΆαžšαžΆαž„

PostgreSQL

PostgreSQL αž•αŸ’αžαž›αŸ‹αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ† UPDATE αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ” αž“αžΆαž„αž‚αŸ’αž˜αžΆαž“αž±αž€αžΆαžŸαž‘αŸαŸ” UPSERTαžŠαžΌαž…αŸ’αž“αŸαŸ‡αžŸαŸαž…αž€αŸ’αžαžΈαžαŸ’αž›αŸ‚αž„αž€αžΆαžšαžŽαŸαž“αŸαŸ‡αž“αžΉαž„αž”αžšαžΆαž‡αŸαž™ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž‡αž½αžšαžŠαŸαž€αž›αŸ‚αž„αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ”

UPDATE Music
SET Genre = 'Disco'
WHERE Artist = 'The Acme Band' AND SongTitle = 'Still In Love';

Cassandra

Cassandra αž˜αžΆαž“ UPDATE αžŸαŸ’αžšαžŠαŸ€αž„αž‘αŸ…αž“αžΉαž„ PostgreSQL αŸ” UPDATE αž˜αžΆαž“αž’αžαŸ’αžαž“αŸαž™αžŠαžΌαž…αž‚αŸ’αž“αžΆαŸ” UPSERT, αžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆ INSERT.

αžŸαŸ’αžšαžŠαŸ€αž„αž‘αŸ…αž“αžΉαž„αž§αž‘αžΆαž αžšαžŽαŸ PostgreSQL αžαžΆαž„αž›αžΎαŸ”

MongoDB
αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž– () αž“αŸ…αž€αŸ’αž“αž»αž„ MongoDB αž’αžΆαž…αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„αž“αžΌαžœαž―αž€αžŸαžΆαžšαžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹ αž¬αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αžαŸ‚αžœαžΆαž›αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ αžœαžΆαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αžαŸ‚αž―αž€αžŸαžΆαžšαž˜αž½αž™αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡ αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž”αž·αž‘αž€αžΆαžšαž™αž›αŸ‹αžƒαžΎαž‰ UPSERT. αž€αžΆαžšαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž―αž€αžŸαžΆαžšαž‡αžΆαž…αŸ’αžšαžΎαž“ αž“αž·αž„αž₯αžšαž·αž™αžΆαž”αžαžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆ UPSERT αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαžŠαŸ„αž™αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž‘αž„αŸ‹αž”αž“αŸ’αžαŸ‚αž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαŸ” αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸ αž€αŸ’αž“αž»αž„αž§αž‘αžΆαž αžšαžŽαŸαžαžΆαž„αž€αŸ’αžšαŸ„αž˜ αž”αŸ’αžšαž—αŸαž‘αž“αŸƒαžŸαž·αž›αŸ’αž”αž€αžšαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž”αž‘αž…αž˜αŸ’αžšαŸ€αž„αžšαž”αžŸαŸ‹αž‚αžΆαžαŸ‹αŸ”

db.music.update(
  {"artist": "The Acme Band"},
  { 
    $set: {
      "genre": "Disco"
    }
  },
  {"multi": true, "upsert": true}
);

αž€αžΆαžšαžŠαž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αž…αŸαž‰αž–αžΈαžαžΆαžšαžΆαž„

PostgreSQL

DELETE FROM Music
WHERE Artist = 'The Acme Band' AND SongTitle = 'Look Out, World';

Cassandra

αžŸαŸ’αžšαžŠαŸ€αž„αž‘αŸ…αž“αžΉαž„αž§αž‘αžΆαž αžšαžŽαŸ PostgreSQL αžαžΆαž„αž›αžΎαŸ”

MongoDB

MongoDB αž˜αžΆαž“αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž–αžΈαžšαž”αŸ’αžšαž—αŸαž‘αžŠαžΎαž˜αŸ’αž”αžΈαž›αž»αž”αž―αž€αžŸαžΆαžš βˆ’ αž›αž»αž”αž˜αž½αž™() /deleteMany() ΠΈ αž™αž€ (). αž”αŸ’αžšαž—αŸαž‘αž‘αžΆαŸ†αž„αž–αžΈαžšαž›αž»αž”αž―αž€αžŸαžΆαžš αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž•αŸ’αžαž›αŸ‹αž›αž‘αŸ’αž’αž•αž›αžαž»αžŸαž‚αŸ’αž“αžΆαŸ”

db.music.deleteMany( {
        artist: "The Acme Band"
    }
);

αž€αžΆαžšαž›αž»αž”αžαžΆαžšαžΆαž„

PostgreSQL

DROP TABLE Music;

Cassandra

αžŸαŸ’αžšαžŠαŸ€αž„αž‘αŸ…αž“αžΉαž„αž§αž‘αžΆαž αžšαžŽαŸ PostgreSQL αžαžΆαž„αž›αžΎαŸ”

MongoDB

db.music.drop();

αžŸαŸαž…αž€αŸ’αžαžΈαžŸαž“αŸ’αž“αž·αžŠαŸ’αž‹αžΆαž“

αž€αžΆαžšαž‡αž‡αŸ‚αž€αžœαŸ‚αž€αž‰αŸ‚αž€αž’αŸ†αž–αžΈαž€αžΆαžšαž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαžšαžœαžΆαž„ SQL αž“αž·αž„ NoSQL αž”αžΆαž“αž•αŸ’αž‘αž»αŸ‡αž‘αžΎαž„αž’αžŸαŸ‹αžšαž™αŸˆαž–αŸαž›αž‡αžΆαž„ 10 αž†αŸ’αž“αžΆαŸ†αž˜αž€αž αžΎαž™αŸ” αž˜αžΆαž“αž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αžŸαŸ†αžαžΆαž“αŸ‹αž–αžΈαžšαž…αŸ†αž–αŸ„αŸ‡αž€αžΆαžšαž‡αž‡αŸ‚αž€αžŠαŸαž‰αžŠαŸ„αž›αž“αŸαŸ‡αŸ– αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ (monolithic, αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš SQL αž‘αž›αŸ‹αž“αžΉαž„αž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™, NoSQL αžŠαŸ‚αž›αž˜αž·αž“αž˜αžΆαž“αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš) αž“αž·αž„αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαžšαž…αž“αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ (αž€αžΆαžšαž’αŸ’αžœαžΎαž‚αŸ†αžšαžΌαž‘αž·αž“αŸ’αž“αž“αŸαž™αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž“αŸ…αž€αŸ’αž“αž»αž„ SQL αž’αŸ€αž”αž“αžΉαž„αž€αžΆαžšαž’αŸ’αžœαžΎαž‚αŸ†αžšαžΌαžŸαŸ†αžŽαž½αžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž“αŸ…αž€αŸ’αž“αž»αž„ NoSQL) αŸ”

αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαŸ‚αž›αž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™αžŠαžΌαž…αž‡αžΆ YugaByte DB αž€αžΆαžšαž–αž·αž—αžΆαž€αŸ’αžŸαžΆαž’αŸ†αž–αžΈαžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαž˜αŸ’αžšαžΆαž€αž™αŸ‰αžΆαž„αž„αžΆαž™αžŸαŸ’αžšαž½αž›αŸ” αžŠαŸ„αž™αžŸαžΆαžšαž‘αŸ†αž αŸ†αž‘αž·αž“αŸ’αž“αž“αŸαž™αž’αŸ†αž‡αžΆαž„αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαž‘αŸ…αžαŸ’αž“αžΆαŸ†αž„αžαŸ‚αž˜αž½αž™ αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αžŠαŸ‚αž›αž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™αž–αŸαž‰αž›αŸαž‰αžŠαŸ‚αž›αž‚αžΆαŸ†αž‘αŸ’αžšαž›αž‘αŸ’αž’αž—αžΆαž–αž“αŸƒαž€αžΆαžšαžŸαžšαžŸαŸαžšαž›αžΈαž“αŸαž’αŸŠαŸ‚αžšαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž”αŸ†αž”αŸ‚αž€/αž€αžΆαžšαž’αŸ’αžœαžΎαž±αŸ’αž™αž˜αžΆαž“αžαž»αž›αŸ’αž™αž—αžΆαž–αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αŸ’αž›αžΆαž™αž‡αžΆαž…αžΆαŸ†αž”αžΆαž…αŸ‹αŸ”

αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡ αžŠαžΌαž…αž˜αžΆαž“αž…αŸ‚αž„αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αž˜αž½αž™αŸ” Google Cloud αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜β€‹αžŠαŸ‚αž›β€‹αž˜αžΆαž“β€‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšβ€‹αžŸαŸ’αžšαž”β€‹αž‚αŸ’αž“αžΆβ€‹αžαŸ’αž›αžΆαŸ†αž„β€‹αž₯αž‘αžΌαžœβ€‹αž“αŸαŸ‡β€‹αž‚αžΊβ€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αŸ’αžšαžΎβ€‹αž…αŸ’αžšαžΎαž“β€‹αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αž•αŸ’αžαž›αŸ‹β€‹αž—αžΆαž–β€‹αžšαž αŸαžŸβ€‹αžšαž αž½αž“β€‹αž€αŸ’αž“αž»αž„β€‹αž€αžΆαžšβ€‹αž’αž—αž·αžœαžŒαŸ’αžβ€‹αž‡αžΆβ€‹αž‡αžΆαž„β€‹αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜β€‹αžŠαŸ‚αž›β€‹αž˜αž·αž“β€‹αž’αŸ’αžœαžΎβ€‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšβ€‹ αž αžΎαž™β€‹αž“αŸ…β€‹αž‘αžΈαž”αŸ†αž•αž»αžβ€‹αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜β€‹αžŸαŸ’αžšαž”β€‹αž‚αŸ’αž“αžΆαŸ”

αžαŸ’αžšαž›αž”αŸ‹αž˜αž€αž€αžΆαžšαž–αž·αž—αžΆαž€αŸ’αžŸαžΆαž€αžΆαžšαžšαž…αž“αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžœαž·αž‰ αžœαžΆαž‡αžΆαž€αžΆαžšαžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž€αŸ’αž“αž»αž„αž€αžΆαžšαž“αž·αž™αžΆαž™αžαžΆαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαžšαž…αž“αžΆαž‘αžΆαŸ†αž„αž–αžΈαžš (SQL αž“αž·αž„ NoSQL) αž‚αžΊαž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž–αž·αž—αž–αž–αž·αžαžŠαŸαžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰αžŽαžΆαž˜αž½αž™αŸ” αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αž "αž‚αŸ†αžšαžΌαž‘αž·αž“αŸ’αž“αž“αŸαž™" αžšαž”αžŸαŸ‹ SQL αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž€αžΆαž“αŸ‹αžαŸ‚αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž”αŸ†αž–αŸαž‰αžαžΆαž˜αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž’αžΆαž‡αžΈαžœαž€αž˜αŸ’αž˜αžŠαŸ‚αž›αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž› NoSQL "αž‚αŸ†αžšαžΌαžŸαŸ†αžŽαž½αžš" αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžŠαžΌαž…αž‚αŸ’αž“αžΆαž’αŸ’αžœαžΎαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž›αžΎαž”αžšαž·αž˜αžΆαžŽαžŠαŸαž’αŸ†αž“αŸƒαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž˜αžΆαž“αž—αžΆαž–αž™αžΊαžαž™αŸ‰αžΆαžœαž‘αžΆαž” αž“αž·αž„αž…αžšαž“αŸ’αžαžαŸ’αž–αžŸαŸ‹αŸ” αžœαžΆαž‚αžΊαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž αŸαžαž»αž•αž›αž“αŸαŸ‡αžŠαŸ‚αž› YugaByte DB αž•αŸ’αžαž›αŸ‹αž“αžΌαžœ SQL αž“αž·αž„ NoSQL APIs αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ’αž“αžΌαž›αž‘αžΌαž‘αŸ… αž‡αžΆαž‡αžΆαž„αž€αžΆαžšαž›αžΎαž€αž€αž˜αŸ’αž–αžŸαŸ‹αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž˜αž½αž™αŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ€αžαžŠαŸ„αž™αž€αžΆαžšαž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž—αžΆαž–αž†αž”αž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™αž—αžΆαžŸαžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž–αŸαž‰αž“αž·αž™αž˜αžšαž½αž˜αž‘αžΆαŸ†αž„ PostgreSQL αž“αž·αž„ Cassandra YugaByte DB αž’αžΆαž“αžΆαžαžΆαž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžšαŸ€αž“αž—αžΆαžŸαžΆαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž…αŸ‚αž€αž…αžΆαž™ αž“αž·αž„αžŸαŸ’αžšαž”αž‚αŸ’αž“αžΆαžαŸ’αž–αžŸαŸ‹αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡ αž™αžΎαž„αž”αžΆαž“αž˜αžΎαž›αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‚αŸ’αžšαžΉαŸ‡αž“αŸƒαž€αžΆαžšαžšαž…αž“αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαž»αžŸαž‚αŸ’αž“αžΆαžšαžœαžΆαž„ PostgreSQL, Cassandra αž“αž·αž„ MongoDBαŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αž“αžΆαž–αŸαž›αž’αž“αžΆαž‚αž αž™αžΎαž„αž“αžΉαž„αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž‚αŸ†αž“αž·αžαžšαž…αž“αžΆαž€αž˜αŸ’αžšαž·αžαžαŸ’αž–αžŸαŸ‹αžŠαžΌαž…αž‡αžΆ αž›αž·αž”αž·αž€αŸ’αžšαž˜ αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš αž…αžΌαž›αžšαž½αž˜ αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ† TTL αž“αž·αž„αž―αž€αžŸαžΆαžš JSON αŸ”

αž™αžΎαž„αžŸαžΌαž˜αž‡αžΌαž“αž–αžšαž±αŸ’αž™αž’αŸ’αž“αž€αžŸαž˜αŸ’αžšαžΆαž€αžŠαŸαž’αžŸαŸ’αž…αžΆαžšαŸ’αž™αž“αŸ…αž…αž»αž„αžŸαž”αŸ’αžαžΆαž αŸαž αžΎαž™αž’αž‰αŸ’αž‡αžΎαž‰αž’αŸ’αž“αž€αž±αŸ’αž™αž‘αŸ… webinar αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒαžŠαŸ‚αž›αž“αžΉαž„αž”αŸ’αžšαž–αŸ’αžšαžΉαžαŸ’αžαž‘αŸ…αž“αŸ…αžαŸ’αž„αŸƒαž‘αžΈ ៑ៀ αžαŸ‚αž§αžŸαž—αžΆαŸ”

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹