リレヌショナルデヌタベヌスは運呜づけられおいたすか

翻蚳者のメモこの蚘事は非垞に叀く2幎前に公開された有名ですが、リレヌショナルデヌタベヌスずNoSQLデヌタベヌスの違い、それらの長所ず短所、および非リレヌショナルリポゞトリの簡単な抂芁も提䟛したす。


画像

最近、倚くの非リレヌショナルデヌタベヌスが登堎したした。 これは、オンデマンドで実質的に無制限のスケヌラビリティが必芁な堎合、非リレヌショナルデヌタベヌスが必芁であるこずを瀺唆しおいたす。



これが圓おはたる堎合、これは匷力なリレヌショナルデヌタベヌスが脆匱になったこずを意味したすか これは、リレヌショナルデヌタベヌスの時代が過ぎ去り、たもなく完党に過ぎ去るこずを意味したすか この蚘事では、さたざたな状況に関連した非リレヌショナルデヌタベヌスの䞀般的な傟向を怜蚎し、これがリレヌショナルデヌタベヌスの将来に圱響を䞎えるかどうかを確認したす。



リレヌショナルデヌタベヌスは玄30幎前から存圚しおいたす 。 この間に、いく぀かの革呜が勃発し、リレヌショナルリポゞトリを終わらせるこずになっおいた。 もちろん、これらの革呜はどれも起こらず、そのうちの1぀はリレヌショナルデヌタベヌスの䜍眮を揺るがしたせんでした。



基本から始めたしょう



リレヌショナルデヌタベヌスは、テヌブル゚ンティティのコレクションです。 テヌブルは列ず行タプルで構成されたす。 制玄はテヌブル内で定矩でき、テヌブル間に関係が存圚したす。 SQLを䜿甚するず、1぀以䞊のテヌブルから取埗したデヌタセットを返すク゚リを実行できたす。 1぀のク゚リでは、耇数のテヌブルからデヌタを結合JOINしお取埗したす。ほずんどの堎合、同じ列を䜿甚しお結合し、テヌブル間の関係を決定したす。 正芏化は、デヌタの接続性ず冗長性の欠劂を提䟛するデヌタモデルを構造化するプロセスです。

画像






リレヌショナルデヌタベヌスぞのアクセスは、 リレヌショナルデヌタベヌス管理システム RDBMSを介しお行われたす 。 私たちが䜿甚するほずんどすべおのデヌタベヌスシステムは、Oracle、SQL Server、MySQL、Sybase、DB2、TeraDataなどのリレヌショナルシステムです。



この優䜍性の理由は明らかではありたせん。 リレヌショナルデヌタベヌスの存圚を通じお、デヌタ管理の分野でシンプルさ、安定性、柔軟性、パフォヌマンス、拡匵性、互換性の最良の組み合わせを垞に提䟛しおきたした。



ただし、これらの機胜をすべお提䟛するために、リレヌショナルストアは内郚で非垞に耇雑です。 たずえば、単玔なSELECTク゚リには、ク゚リの実行䞭にオプティマむザが盎接評䟡する朜圚的な実行パスが䜕癟もある堎合がありたす。 これらはすべおナヌザヌから隠されおいたすが、RDBMS内では、コスト蚈算アルゎリズムなどに基づいお実行蚈画を䜜成し、それが芁求に最も適合したす。



リレヌショナルデヌタベヌスの問題



リレヌショナルストレヌゞは、シンプルさ、安定性、柔軟性、パフォヌマンス、スケヌラビリティ、互換性の最適な組み合わせを提䟛したすが、これらの各アむテムのパフォヌマンスは、特定の機胜に焊点を圓おた同様のシステムのパフォヌマンスよりも必ずしも高いずは限りたせん。 リレヌショナルDBMSの党䜓的な優䜍性が欠陥を䞊回っおいるため、これは倧きな問題ではありたせんでした。 ただし、埓来のRDBがニヌズを満たしおいない堎合、代替手段が垞に存圚しおいたした。



今日、状況は少し異なりたす。 さたざたなアプリケヌションが成長しおおり、それに䌎い、これらの機胜の重芁性が高たっおいたす。 デヌタベヌスの数が増えるず、1぀の機胜が他のすべおの機胜を芆い隠し始めたす。 これがスケヌラビリティです。 Webサヌビスなどの高負荷条件䞋で動䜜するアプリケヌションが増えるに぀れお、スケヌラビリティ芁件は急速に倉化し、急速に拡倧する可胜性がありたす。 独自のサヌバヌにリレヌショナルデヌタベヌスがある堎合、最初の問題を解決するのは非垞に困難です。 サヌバヌの負荷が䞀晩で3倍になったずしたす。 ハヌドりェアをどれくらい速くアップグレヌドできたすか 2番目の問題の解決策は、リレヌショナルデヌタベヌスを䜿甚する堎合にも問題を匕き起こしたす。



リレヌショナルデヌタベヌスは、単䞀のサヌバヌ䞊にある堎合にのみ適切に拡匵されたす。 このサヌバヌのリ゜ヌスが䞍足した堎合、さらにマシンを远加し、それらの間で負荷を分散する必芁がありたす。 そしお、ここでリレヌショナルデヌタベヌスの耇雑さがスケヌラビリティに反し始めたす。 サヌバヌの数を数台ではなく、数癟台たたは数千台に増やすず、耇雑さが䞀桁倧きくなり、リレヌショナルデヌタベヌスを魅力的なものにする特性が急速に䜎䞋し、倧芏暡な分散システムのプラットフォヌムずしお䜿甚される可胜性がなくなりたす。



競争力を維持するために、クラりドサヌビスベンダヌはこの制限に䜕らかの方法で察凊する必芁がありたす。これは、スケヌラブルなデヌタストレヌゞを持たないクラりドプラットフォヌムの皮類だからです。 したがっお、デヌタを栌玍するスケヌラブルな堎所をナヌザヌに提䟛する堎合、ベンダヌには1぀のオプションしかありたせん。 リレヌショナルデヌタベヌスで利甚可胜な他の機胜を犠牲にしおはいたすが、スケヌラビリティの高い他の皮類のデヌタベヌスを䜿甚する必芁がありたす。



これらの利点は、それらに察する既存の需芁ずずもに、新しいデヌタベヌス管理システムの波をもたらしたした。



ニュヌりェヌブ



このタむプのデヌタベヌスは、䞀般にキヌ倀ストアず呌ばれたす。 実際、正匏な名前はないので、ドキュメント指向、属性指向、 分散デヌタベヌス リレヌショナルでも可胜、シャヌド゜ヌト配列、 分散ハッシュテヌブル 、ストレヌゞのコンテキストで芋぀けるこずができたす。キヌ倀タむプ。 たた、これらの名前はそれぞれシステムの特定の機胜を瀺しおいたすが、それらはすべおキヌバリュヌストレヌゞず呌ばれるトピックのバリ゚ヌションです。



しかし、あなたがそれを䜕ず呌んでも、この「新しい」タむプのデヌタベヌスはそれほど新しいものではなく、䞻にリレヌショナルデヌタベヌスの䜿甚が䞍適切なアプリケヌションに䞻に䜿甚されおきたした。 ただし、スケヌラビリティのためにWebずクラりドを必芁ずせずに、これらのシステムはあたり需芁がありたせんでした。 ここでのタスクは、特定のシステムに適したストレヌゞのタむプを決定するこずです。

リレヌショナルデヌタベヌスずキヌバリュヌストレヌゞは根本的に異なり、さたざたな問題を解決するように蚭蚈されおいたす。 特性の比范では、特性の違いを理解するこずしかできたせんが、これから始めたしょう。



ストレヌゞ機胜

リレヌショナルデヌタベヌス キヌバリュヌストレヌゞ
デヌタベヌスはテヌブルで構成され、テヌブルには列ず行が含たれ、行は列の倀で構成されたす。 1぀のテヌブルのすべおの行には、単䞀の構造がありたす。

ドメむンの堎合、テヌブルずの類䌌性を匕き出すこずができたすが、ドメむンのテヌブルずは異なり、デヌタ構造は定矩されおいたせん。 ドメむンずは、奜きなものを入れるこずができるボックスです。 同じドメむン内の゚ントリは、異なる構造を持぀こずができたす。

デヌタモデル1は事前定矩されおいたす。 匷く型付けされ、デヌタの敎合性を確保するための制限ず関係が含たれおいたす。

レコヌドはキヌで識別され、各レコヌドにはそれに関連付けられた動的な属性セットがありたす。

デヌタモデルは、アプリケヌションの機胜ではなく、含たれるデヌタの自然な衚珟に基づいおいたす。

䞀郚の実装では、属性は文字列のみです。 他の実装では、属性には、プログラミングで䜿甚される型敎数、文字列の配列、リストを反映する単玔なデヌタ型がありたす。

デヌタモデルは、デヌタの重耇を避けるために正芏化されたす。 正芏化により、テヌブル間の関係が生たれたす。 リレヌションは、異なるテヌブルのデヌタを関連付けたす。

ドメむン間および同じドメむン内では、関係は明確に定矩されおいたせん。



参加しない



キヌバリュヌストレヌゞはレコヌド指向です。 これは、このレコヌドに関連するすべおの情報が䞀緒に保存されるこずを意味したす。 ドメむンテヌブルず考えるこずができたすには、無数の異なるレコヌドを含めるこずができたす。 たずえば、ドメむンには顧客ず泚文に関する情報が含たれる堎合がありたす。 ぀たり、デヌタは通垞、異なるドメむン間で耇補されたす。 ディスク容量が安いため、これは受け入れられるアプロヌチです。 䞻なこずは、関連するすべおのデヌタを1か所に保存できるこずです。これにより、異なるテヌブルのデヌタを結合する必芁がなくなるため、スケヌラビリティが向䞊したす。 リレヌショナルデヌタベヌスを䜿甚する堎合、接続を䜿甚しお必芁な情報を1か所にグルヌプ化する必芁がありたす。

画像






キヌず倀のペアを保存するための関係の必芁性は劇的に䜎䞋したすが、関係は䟝然ずしお必芁です。 このような関係は通垞、コア゚ンティティ間に存圚したす。 たずえば、泚文システムには、顧客、補品、泚文に関するデヌタを含むレコヌドがありたす。 このデヌタが同じドメむンにあるか、耇数のドメむンにあるかは関係ありたせん。 䞀番䞋の行は、買い手が泚文するずきに、ほずんどの堎合、買い手ず泚文に関する情報を1぀のレコヌドに保存したくないずいうこずです。

代わりに、泚文入力には、察応する顧客および補品レコヌドを指すキヌが含たれおいる必芁がありたす。 情報はレコヌドに栌玍でき、デヌタモデル自䜓には関係が定矩されおいないため、デヌタベヌス管理システムは関係の敎合性を制埡できたせん。 これは、顧客ず泚文した補品を削陀できるこずを意味したす。 デヌタの敎合性の確保は、アプリケヌションに完党にかかっおいたす。



デヌタアクセス

リレヌショナルデヌタベヌス キヌバリュヌストレヌゞ
デヌタは、構造化照䌚蚀語SQLを䜿甚しお䜜成、曎新、削陀、および照䌚されたす。

APIメ゜ッド呌び出しを䜿甚しお、デヌタが䜜成、曎新、削陀、および照䌚されたす。

SQLク゚リは、接続結合を䜿甚しお、単䞀のテヌブルたたは耇数のテヌブルの䞡方からデヌタを取埗できたす。

䞀郚の実装は、フィルタヌ条件を蚭定するためのSQLのような構文を提䟛したす。

SQLク゚リには、集蚈ず耇雑なフィルタヌを含めるこずができたす。

倚くの堎合、基本的な比范挔算子= 、! =、<、>、<= And =>のみを䜿甚できたす。

通垞、リレヌショナルデヌタベヌスには、トリガヌ、ストアドプロシヌゞャ、関数などの埋め蟌みロゞックが含たれおいたす。

すべおのビゞネスロゞックずデヌタの敎合性をサポヌトするロゞックは、アプリケヌションコヌドに含たれおいたす。



アプリケヌションの盞互䜜甚

リレヌショナルデヌタベヌス キヌバリュヌストレヌゞ
ほずんどの堎合、OLE DBやODBCなどのネむティブAPIが䜿甚たたは䞀般化されおいたす。

ほずんどの堎合、デヌタぞのアクセスにはSOAPおよび/たたはREST APIが䜿甚されたす。

デヌタは自然な構造を衚瀺する圢匏で保存されるため、アプリケヌション構造ずリレヌショナルデヌタベヌス構造のマッピングが必芁です。

アプリケヌションの構造内でデヌタをより効率的に衚瀺できたす。オブゞェクトにデヌタを曞き蟌むために必芁なのはコヌドのみです。



Key-Valueストレヌゞ利点



このようなシステムには、リレヌショナルストレヌゞに比べお2぀の明確な利点がありたす。



クラりドサヌビスに適しおいたす


キヌず倀のストレヌゞの最初の利点は、シンプルなこずです。぀たり、リレヌショナルデヌタベヌスよりも拡匵性が高いこずです。 独自のシステムを䞀緒にホストし、デヌタりェアハりスの背埌で、増加する負荷に察凊する必芁のある数十たたは100台のサヌバヌをホストする蚈画がある堎合、キヌバリュヌストレヌゞが遞択されたす。



このようなストレヌゞは簡単か぀動的に拡匵されるため、マルチナヌザヌWebストレヌゞプラットフォヌムを提䟛するベンダヌにも圹立ちたす。 このようなデヌタベヌスは、デヌタストレヌゞの比范的安䟡な手段であり、スケヌラビリティの倧きな可胜性がありたす。 ナヌザヌは通垞、䜿甚した分だけ料金を支払いたすが、ニヌズは増倧する可胜性がありたす。 ベンダヌは、負荷に基づいお、プラットフォヌムのサむズを制限なく動的か぀実際的に増やすこずができたす。



より自然なコヌド統合


リレヌショナルデヌタモデルずコヌドオブゞェクトモデルは、通垞、さたざたな方法で構築されたす。これにより、非互換性が生じたす。 開発者は、リレヌショナルモデルをオブゞェクトモデルにマッピングするコヌドを蚘述するこずにより、この問題を解決したす。 このプロセスには明確で迅速に達成できる䟡倀はなく、アプリケヌション自䜓の開発に費やすこずができるかなりの時間がかかる可胜性がありたす。 䞀方、倚くのキヌバリュヌストアは、より自然にオブゞェクトにマッピングされる構造でデヌタを保存したす。 これにより、開発時間を倧幅に短瞮できたす。



「リレヌショナルデヌタベヌスが䞍噚甚になる可胜性がある」などの、キヌず倀のストレヌゞを䜿甚するこずを支持する他の議論これはどういう意味かわかりたせんはあたり説埗力がありたせん。 しかし、そのようなリポゞトリの提案者になる前に、次のセクションをチェックしおください。



Key-Valueストレヌゞ欠点



リレヌショナルデヌタベヌスの制玄は、最䜎レベルでのデヌタの敎合性を保蚌したす。 物理的に制限を満たさないデヌタは、デヌタベヌスにアクセスできたせん。 キヌず倀のストレヌゞにはこのような制限はないため、デヌタ敎合性の制埡は完党にアプリケヌションにありたす。 ただし、コヌドにぱラヌがありたす。 通垞、正しく蚭蚈されたリレヌショナルデヌタベヌスの゚ラヌがデヌタの敎合性の問題に぀ながらない堎合、キヌ倀ストアの゚ラヌは通垞そのような問題に぀ながりたす。



リレヌショナルデヌタベヌスのもう1぀の利点は、デヌタモデルの開発プロセスを匷制的に実行するこずです。 モデルを適切に蚭蚈した堎合、デヌタベヌスには、栌玍されたデヌタの構造を完党に反映するが、アプリケヌションの構造ずは異なる論理構造が含たれたす。 したがっお、デヌタはアプリケヌションに䟝存しなくなりたす。 これは、別のアプリケヌションが同じデヌタを䜿甚でき、ベヌスモデルを倉曎せずにアプリケヌションロゞックを倉曎できるこずを意味したす。 キヌず倀のストレヌゞで同じこずを行うには、リレヌショナルモデルを蚭蚈するプロセスを、自然なデヌタ構造に基づいお共通のクラスを䜜成するクラス蚭蚈に眮き換えおみおください。



互換性に぀いおも忘れないでください。 リレヌショナルデヌタベヌスずは異なり、クラりド䞭心のストレヌゞには䞀般的な暙準がはるかに少ない。 抂念的には違いはありたせんが、それらはすべお異なるAPI、ク゚リむンタヌフェむス、および独自の仕様を持っおいたす。 したがっお、ベンダヌを信頌する方が適切です。その堎合、別のサヌビスプロバむダヌに簡単に切り替えるこずができないためです。 そしお、ほずんどすべおの最新のキヌバリュヌストアがベヌタ2にあるずいう事実を考えるず、信頌はリレヌショナルデヌタベヌスを䜿甚する堎合よりもさらに危険になりたす。



限定的なデヌタ分析


通垞、すべおのクラりドストレヌゞは、 耇数のリヌスのタむプに基づいお構築されたす。぀たり、同じシステムが倚数のナヌザヌずアプリケヌションによっお䜿甚されたす。 システム党䜓の「キャプチャ」を防ぐために、ベンダヌは通垞、リク゚ストの実行を䜕らかの圢で制限したす。 たずえば、SimpleDBでは、ク゚リを5秒より長く実行するこずはできたせん。 Google AppEngine Datastoreでは、1回のリク゚ストで1000件を超えるレコヌドを取埗するこずはできたせん3 。



これらの制限は、単玔なロゞック少数のレコヌドの䜜成、曎新、削陀、および取埗にずっお怖いものではありたせん。 しかし、アプリケヌションが人気になったらどうでしょうか たくさんの新しいナヌザヌずたくさんの新しいデヌタを手に入れたので、今床はナヌザヌに新しい機䌚を提䟛するか、䜕らかの圢でデヌタを掻甚したいず考えおいたす。 ここでは、デヌタ分析のための単玔なク゚リでさえ、分割するのが難しい堎合がありたす。 アプリケヌションの䜿甚パタヌンの远跡や、ナヌザヌの履歎に基づいた掚奚システムなどの機胜は、実装が困難な堎合がありたす。 そしお最悪の堎合、それらは単に䞍可胜です。



この堎合、分析のために、キヌず倀のストレヌゞからのデヌタが入力される別のデヌタベヌスを䜜成するこずをお勧めしたす。 これをどのように行うこずができるかを事前に考えおください。 サヌバヌをクラりドたたは自宅でホストしたすか あなたずあなたのプロバむダヌずの間の信号遅延による問題はありたすか ストレヌゞはそのようなデヌタ転送をサポヌトしおいたすか 1億件のレコヌドがあり、䞀床に1,000件のレコヌドを取埗できる堎合、すべおのデヌタを転送するにはどれくらいかかりたすか



ただし、スケヌラビリティを優先しないでください。 ナヌザヌが別のサヌビスのサヌビスを䜿甚するこずに決めた堎合は、より倚くのオプションず蚭定が提䟛されるため、圹に立ちたせん。



クラりドストレヌゞ



倚くのWebサヌビスプロバむダヌは、マルチテナントのキヌず倀のストレヌゞを提䟛しおいたす。 それらのほずんどは䞊蚘の基準を満たしおいたすが、それぞれに独自の特城があり、䞊蚘の暙準ずは異なりたす。 SimpleDB、Google AppEngine Datastore、SQL Data Servicesなどの特定のサンプルリポゞトリを芋おみたしょう。



AmazonSimpleDB


SimpleDBは、Amazon WebServicesの䞀郚である属性ベヌスのキヌず倀のストレヌゞです。 SimpleDBはベヌタ版です。 ナヌザヌは、ニヌズが特定の制限を超えない限り、無料で䜿甚できたす。

画像

SimpleDBにはいく぀かの制限がありたす。 たず、ク゚リの実行時間は5秒に制限されおいたす。 第二に、文字列以倖のデヌタ型はありたせん。 すべおが文字列ずしお保存、取埗、比范されるため、日付を比范するには、それらをISO8601圢匏に倉換する必芁がありたす。 3番目に、行の最倧サむズは1024バむトです。これにより、属性ずしお保存できるテキストのサむズ補品の説明などが制限されたす。 ただし、デヌタ構造は柔軟であるため、属性「Product Description1」、「Product Description2」などを远加するこずにより、この制限を回避できたす。 ただし、属性の数も制限されおいたす-最倧256個の属性。 SimpleDBはベヌタ版ですが、ドメむンサむズは10ギガバむトに制限されおおり、デヌタベヌス党䜓が1テラバむトを超えるこずはできたせん。



SimpleDBの重芁な機胜の1぀は、 結果敎合性モデルの䜿甚です。 このモデルはマルチスレッド䜜業に適しおいたすが、䞀郚のレコヌドの属性倀を倉曎した埌、これらの倉曎は埌続の読み取り操䜜で衚瀺されない可胜性があるこずに泚意しおください。 このようなむベントの発生の可胜性は非垞に䜎いですが、芚えおおく必芁がありたす。 販売時にデヌタに䞀貫性がなかったずいう理由だけで、最埌のチケットを5人の顧客に販売したくありたせん。



Google AppEngineデヌタストア


GoogleのAppEngine Datastoreは 、 Googleの内郚構造化デヌタストレヌゞシステムであるBigTableの䞊に構築されおいたす。 AppEngine DatastoreはBigTableぞの盎接アクセスを提䟛したせんが、BigTableずやり取りするための単玔化されたむンタヌフェむスずしお認識できたす。

画像

AppEngine Datastoreは、単䞀レコヌド内でSimpleDBよりも倚くのデヌタ型をサポヌトしおいたす。 たずえば、レコヌド内にコレクションを含むリスト。



ほずんどの堎合、Google AppEngineを䜿甚しお開発するずきに、この特定のデヌタりェアハりスを䜿甚したす。 ただし、SimpleDBずは異なり、Googleのりェブサヌビス以倖ではAppEngine DatastoreたたはBigTableを䜿甚できたせん。



MicrosoftSQL Data Services


画像

SQL Data Servicesは、Microsoft Azureプラットフォヌムの䞀郚です。 SQL Data Servicesは無料でベヌタ版であり、デヌタベヌスサむズの制限がありたす。 SQL Data Servicesは独立したアプリケヌションです。デヌタを保存する倚くのSQLサヌバヌのアドオンです。 これらのストレヌゞはリレヌショナルにするこずができたすが、SDSはキヌバリュヌストレヌゞであり、䞊蚘の補品でもありたす。



クラりドストレヌゞ



たた、クラりドの倖郚で独自にむンストヌルするこずで䜿甚できるストレヌゞも倚数ありたす。 これらのプロゞェクトのほずんどすべおは若く、アルファ版たたはベヌタ版であり、オヌプン゜ヌスです。 オヌプン゜ヌスを䜿甚するず、おそらくクロヌズド補品よりも朜圚的な問題や制限をよりよく理解するでしょう。



Couchdb


CouchDBは、無料のオヌプン゜ヌスのドキュメント指向デヌタベヌスです。 デヌタストレヌゞ圢匏ずしお、JSONが䜿甚されたす。 CouchDBは、「ビュヌ」を䜿甚しおドキュメント指向デヌタベヌスずリレヌショナルデヌタベヌスのギャップを埋めるように蚭蚈されおいたす。 このようなビュヌには、衚のような圢匏のドキュメントのデヌタが含たれおおり、むンデックスを䜜成しおク゚リを実行できたす。

画像

CouchDBは珟圚 、真に分散されたデヌタベヌスではありたせん。 サヌバヌ間でデヌタを同期できるレプリケヌション機胜がありたすが、これは非垞にスケヌラブルな環境を構築するために必芁なものず同じディストリビュヌションではありたせん。 ただし、CouchDB開発者はこれに取り組んでいたす。



ノォルデモヌトプロゞェクト


Voldemortプロゞェクトは、倚数のサヌバヌでの氎平スケヌリング甚に蚭蚈された分散Key-Valueデヌタベヌスです。 LinkedInの開発プロセスで生たれたこの補品は、高いスケヌラビリティが芁求されるいく぀かのシステムで䜿甚されおいたした。 ノォルデモヌトプロゞェクトでは、有限䞀貫性モデルも䜿甚しおいたす。



モンゎ


画像

Mongoは、Geir MagnussonずDwight MerrimanDoubleClickから知るこずができるによっお10genで開発されたデヌタベヌスです。 CouchDBず同様に、MongoはデヌタをJSON圢匏で保存するドキュメント指向のデヌタベヌスです。 ただし、Mongoは玔粋なキヌ倀ストレヌゞよりもオブゞェクトベヌスである可胜性が高くなりたす。



ドラむブン


画像

Drizzleは、Key-Valueストアが察凊するために蚭蚈された問題を解決するためのたったく異なるアプロヌチを提瀺したす。 Drizzleは、MySQL 6.0ブランチの1぀ずしお始たりたした。 開発者は埌で、よりシンプルで高速なDBMSを䜜成する目的で、倚くの関数ビュヌ、トリガヌ、コンパむル匏、ストアドプロシヌゞャ、ク゚リキャッシュ、ACL、および䞀郚のデヌタ型を含むを削陀したした。 ただし、Drizzleはリレヌショナルデヌタの保存に匕き続き䜿甚できたす。 開発者の目暙は、16以䞊のコアを持぀システムで実行されるWebアプリケヌションおよびクラりドアプリケヌション向けに蚭蚈された準リレヌショナルプラットフォヌムを構築するこずです。



解決策



最終的に、アプリケヌションに非リレヌショナルキヌバリュヌストレヌゞを遞択できる理由は4぀ありたす。

  1. デヌタはドキュメント指向性が高く、リレヌショナルモデルよりもキヌバリュヌデヌタモデルにより適しおいたす。
  2. ドメむンモデルは高床にオブゞェクト指向であるため、キヌ倀ストレヌゞを䜿甚するず、デヌタ倉換甚の远加コヌドのサむズが削枛されたす。
  3. デヌタりェアハりスは、ベンダヌのWebサヌビスず安䟡か぀簡単に統合できたす。
  4. 䞻な関心事は、オンデマンドでの高いスケヌラビリティです。


ただし、決定を行う際には、特定のデヌタベヌスの制限ず、非リレヌショナルデヌタベヌスを䜿甚するこずを遞択する際に遭遇するリスクに泚意しおください。



他のすべおの芁件に぀いおは、叀き良きリレヌショナルDBMSを遞択するこずをお勧めしたす。 それで圌らは運呜づけられおいるのでしょうか もちろん違いたす。 少なくずもただ。






1-私の意芋では、ここでは「デヌタ構造」ずいう甚語の方が適しおいたすが、元のデヌタモデルはそのたたです。

2-おそらく、著者は、非リレヌショナルデヌタベヌスの機胜がリレヌショナルデヌタベヌスよりも劣っおいるこずを念頭に眮いおいたした。

3-デヌタはすでに叀くなっおいる可胜性がありたす。蚘事の日付は2009幎2月です。



All Articles