We'lllookathowtheyworkfrom a technicalperspective, butmostimportantly, we'lltrytounderstandwhatthey'rebestusedfor, becausemydadalsousedtotellme, don't bring a knifeto a gunfight.
A popularusecaseisforscaling a largeamountoftimeseriesdata, likerecordsfromanIoTdevice, weathersensors, orinthecaseofNetflix, a historyofthedifferentshowsyou'vewatched.
Forthat, you'llneedsomethingmoregeneralpurpose, like a document-orienteddatabase.
そのためには、ドキュメント指向データベースのような、より汎用的なものが必要だ。
PopularoptionsintheFirestore, DynamoDB, CouchDB, and a fewothers.
Firestore、DynamoDB、CouchDB、その他いくつかの人気のあるオプション。
Inthisparadigm, youhavedocuments, whereeachdocumentis a containerforkey-valuepairs.
このパラダイムでは、ドキュメントがあり、各ドキュメントはキーと値のペアのコンテナである。
They'reunstructuredanddon't require a schema.
構造化されておらず、スキーマを必要としない。
Thenthedocumentsaregroupedtogetherincollections.
そして、ドキュメントはコレクションにまとめられる。
Fieldswithin a collectioncanbeindexed, andcollectionscanbeorganizedinto a logicalhierarchy, allowingyoutomodelandretrieverelationaldatato a prettysignificantdegree.
Wheretheygenerallyfallshortiswhenyouhave a lotofdisconnectedbutrelateddatathatisupdatedoften, like a socialappthathasmanyuserswhohavemanyfriendswhohavemanycommentswhohavemanylikes, andyouwanttoseeallthecommentsthatyourfriendslike.
However, a potentialdrawbackhereisthatitrequires a schema.
しかし、スキーマが必要なのが難点だ。
Ifyoudon't knowtherightdatashapeupfront, theycanbe a littlehardertoworkwith.
適切なデータ形状を前もって知っておかないと、作業が少し難しくなる。
SQLdatabasesarealsoACIDcompliant, whichmeanswheneverthere's a transactioninthedatabase, datavalidityisguaranteedeveniftherearenetworkorhardwarefailures.
Thisdoesadd a lotofoverhead, andtheycanbeexpensivetorunatscale, butatthesametime, theycanadd a tonofvaluetotheuserexperienceifyou'rebuildingsomethinglike a type-aheadsearchbox.