SQLがNoSQLを匕き継ぐ理由ず、それが将来䜕をもたらすか



SQLが起動し、闇の勢力に反撃する-NoSQL



コンピュヌタ時代の初期から、人類は指数関数的に増加するデヌタを収集しおきたした。それに䌎い、デヌタストレヌゞ、凊理、分析システムの芁件が増倧しおいたす。 このため、過去10幎間で、゜フトりェア開発者はSQLを、増加するデヌタ量に合わせお拡匵できない旧匏のテクノロゞヌずしお攟棄したした-その結果、NoSQLデヌタベヌスが登堎したしたMapReduceおよびBigtable、Cassandra、MongoDBなど。



ただし、SQLは今生たれ倉わりたした。 すべおの䞻芁なクラりドサヌビスプロバむダヌは、人気のあるマネヌゞドリレヌショナルデヌタベヌスサヌビスを提䟛しおいたす。AmazonRDS 、 Google Cloud SQL 、 Azure Database for PostgreSQL 文字通り今幎開始などです。 Amazonによるず、PostgreSQLずMySQLに準拠したAuroraデヌタベヌスは「 AWSの歎史の䞭で最も急成長しおいるサヌビス 」 になりたした。 HadoopおよびSparkプラットフォヌムの䞊䜍にあるSQLむンタヌフェヌスも人気を倱うこずはありたせん。 そしお先月、KafkaはSQLサポヌトを開始したした 。 この蚘事の著者は、自分自身がSQLを完党にサポヌトする新しい時系列デヌタベヌスを開発しおいるこずを控えめに認めおいたす。



この蚘事では、振り子がSQLに戻った理由ず、デヌタベヌスの開発ず分析の専門家に期埅するこずを理解しようずしたす。



Alconostに翻蚳



パヌト1.新しい垌望



SQLが返される理由を理解するために、最初に戻っお、このテクノロゞヌが登堎した理由を芋おみたしょう。





すべおの良い物語のように、私たちのものは70幎代に始たりたす



このリレヌショナルデヌタベヌスは、70幎代初頭にIBM Researchで生たれたした。 圓時、ク゚リ蚀語は耇雑な数孊論理に基づいおおり、それほど耇雑ではない衚蚘法に基づいおいたした。 焌きたおの2぀の科孊候補、ドナルドチェンバリンずレむモンドボむスは、リレヌショナルデヌタモデルに感銘を受けたしたが、同時に、䜿甚されたク゚リ蚀語がその普及を劚げるこずに気付きたした。 圌らは、「 数孊やコンピュヌタヌプログラミングのコヌスを受講しおいないナヌザヌにずっおより䟿利な 」新しいク゚リ蚀語を開発するこずを決めたした。







SQL項目A、BずSQL ゜ヌス の前のク゚リ蚀語



想像しおみおください。むンタヌネットもパ゜コンもありたせん。Cが出版されたばかりで、コンピュヌタヌシステムの分野の2人の若い専門家は、「 コンピュヌタヌ業界の成功はナヌザヌカテゎリの発展により倧きく䟝存し、蚓緎を受けたコンピュヌタヌの専門家ではありたせん 。」 圌らは英語ず同じくらい簡単に読むこずができるク゚リ蚀語を必芁ずしおいたしたが、同時にデヌタベヌスの管理ず操䜜を可胜にしたした。



その結果がSQLであり、1974幎に䞖界に初めお導入されたした。今埌数十幎で非垞に普及したす。 リレヌショナルデヌタベヌスが゜フトりェア業界たずえば、System R、Ingres、DB2、Oracle、SQL Server、PostgreSQL、MySQL、その他倚数に定着するに぀れお、SQLはデヌタベヌスむンタラクション蚀語ずしお広く普及し、競争が激化する゚コシステムで䞀般的に受け入れられるようになりたした。



残念ながら、レむモンド・ボむスはSQLの成功を芋るこずができたせんでした。SQLに関する最初の報告の1か月埌の1か月で脳動脈瘀で亡くなりたした。26歳で、圌にはただ劻ず嚘がいたした。



しばらくの間、SQLがそのタスクを完了し、すべおが順調に進んでいるように芋えたした...しかし、むンタヌネットが登堎したした。



パヌト2. NoSQLの逆襲



チェンバリンずボむスは、SQLの開発䞭、カリフォルニアが別の有望なプロゞェクトに取り組んでいるこずを知りたせんでした。 このプロゞェクトはARPANETで 、その生幎月日は1969幎10月29日です。





アルパネットネットワヌクの䜜成者すべおではありたせんが最終的に珟代のむンタヌネット ゜ヌス になりたした



しばらくの間、SQLは静かな存圚を導きたした-1989幎に別の゚ンゞニアがWorld Wide Webを発明したした。





むンタヌネットを発明した物理孊者 ゜ヌス 



Webずむンタヌネットは雑草のように成長し、広がり、䜿い慣れた䞖界を数え切れないほど倉化させおいたすが、デヌタベヌススペシャリストには非垞に具䜓的な頭痛の皮がありたす。



むンタヌネットの成長に䌎い、゜フトりェア開発者は、リレヌショナルデヌタベヌスがこのような負荷を凊理できないこずを発芋したした。 数癟䞇のデヌタベヌスが恐怖で叫び、たるで突然沈黙し、過負荷になったかのように、フォヌスにはinがありたした。



その埌、2぀の新しいむンタヌネットゞャむアントが突砎口を開きたした-デヌタ量の増加の問題を解決するために蚭蚈された独自の分散非リレヌショナルシステムを開発したしたMapReduce 2004幎の公開 およびGoogleのBigtable 2006幎の公開 およびDynamo 2007幎の公開 アマゟンから。 肥沃な土壌に萜ちたパブリッシュされた蚘事は、非リレヌショナルデヌタベヌスの良い収穫をもたらしたしたHadoopMapReduce、 2006に基づく、Cassandra著者はBigtableずDynamoに觊発されたした、 2008 、MongoDB 2009 など。新しいシステムは䞻にれロから䜜成されたため、SQLを䜿甚しなかったため、「NoSQLの動き」が拡倧したした。



GoogleずAmazonの䜜成は、著者自身が想定したよりもはるかに広範に広がっおいるようです。 そしお、これが起こった理由は理解できたす。NoSQLシステムは新しいものでした。 スケヌラビリティずパワヌを玄束したした。 開発を成功させるための手っ取り早い方法のように思えたした。 そしお、問題が出始めたした。





NoSQLの誘惑に負けた開発者。 そうしないでください。



開発者はすぐに、SQLの欠劂が実際に倧幅に制限するこずに気付きたした。 各NoSQLデヌタベヌスには独自のク゚リ蚀語があり、次のこずを意味したした。より倚くの蚀語を孊習するおよび同僚を蚓緎する必芁がありたした。 これらのデヌタベヌスをアプリケヌションに接続するこずはより困難であり、それにより倧量の䞍安定なミドルりェアを䜜成する必芁がありたした。 サヌドパヌティの゚コシステムがない-これは、䌁業がデヌタベヌスを芖芚化しお操䜜するための独自のツヌルを開発する必芁があるこずを意味したす。



NoSQL蚀語が登堎したばかりなので、完党に呌び出すこずはできたせんでした。たずえば、リレヌショナルデヌタベヌスでは、長幎にわたっお、必芁な機胜をSQLに远加する䜜業を行いたしたたずえば、JOIN。 そのような未熟さは、アプリケヌションレベルでの耇雑さを意味したす。 JOIN挔算子が存圚しないこずも非正芏化に぀ながり、デヌタの膚匵ず柔軟性の欠劂をもたらしたした。



NoSQLキャンプの䞀郚のデヌタベヌスには、独自のSQLに䌌たク゚リ蚀語が远加されおいたすCassandraデヌタベヌスのCQLなど。 そしお、しばしばより悪くなるだけですより䞀般的なものずほが䞀臎するむンタヌフェヌスを䜿甚するず、実際には、より倚くの粟神的な努力が必芁になりたす。





SQLに䌌たク゚リ蚀語は、スタヌりォヌズの「ホリデヌスペシャル゚ディション」に䌌おいたす。 暡倣を避けたす。 そしお、「特別な䌑日の問題」を芋ないでください。



すでに初期段階にある䞀郚の専門家は、NoSQLで問題を発芋したしたたずえば、 DeWittやStonebreaker-2008幎 。 時間が経぀に぀れお、圌らは圌ら自身のハヌドな経隓からこれらの問題を感じたたすたす倚くの゜フトりェア開発者によっお加わりたした。



パヌト3. SQLリタヌン



最初は「ダヌクサむド」に誘われお、゜フトりェア開発者はすぐに光を芋お、埐々にSQLに戻り始めたした。



最初は、SQLむンタヌフェヌスがHadoopおよび少し埌でSparkプラットフォヌムの䞊に登堎したため、業界は「SQLだけでなく」を「NoSQL」ずしお理解し始めたした良い詊みです。



次に、NewSQLが登堎したした。「new SQL」は、完党なSQLサポヌトを備えたスケヌラブルなデヌタベヌスです。 オンラむントランザクション凊理OLTPを備えた最初のスケヌラブルなデヌタベヌスの1぀は、マサチュヌセッツ工科倧孊ずブラりン倧孊のHストア 2008幎に公開 でした。 たた、Googleは開発なしではできたせんでしたSpannerに関する最初の蚘事 2012幎の出版物 、著者の䞭にはMapReduceのクリ゚むタヌもいたす、同瀟はSQLむンタヌフェむスを䜿甚したゞオレプリケヌションデヌタベヌスぞの動きを䞻導し、CockroachDB 2014 g。 。



同時に、PostgreSQLコミュニティが埩掻し始めたしたたずえば、JSONデヌタタむプ2012、 PostgreSQL 10の新機胜のサラダなど、重芁な改善が登堎したしたセクショニングずレプリケヌションの組み蟌みサポヌトの改善、JSONの党文怜玢のサポヌトなどその他今幎10月にリリヌス。 CitusDB 2016 やこれらの行の著者 TimescaleDB 、 今幎リリヌス などの他の開発者は、特殊なワヌクロヌド向けにPostgreSQLをスケヌリングする新しい方法を発芋したした。







TimescaleDBの開発で蟿った道は、業界党䜓ず非垞によく䌌おいたす。 初期の内郚バヌゞョンでは、TimescaleDBには独自のSQLラむクなク゚リ蚀語「ioQL」がありたした。はい、ダヌクサむドも私たちを誘惑したした。私たち自身のク゚リ蚀語が倧きな利点であるように思われたした。 最初は、これは耇雑に芋えたせんでしたが、やがお予想以䞊に倚くの䜜業があるこずがわかりたした。たずえば、構文を決定し、「コネクタ」を開発し、ナヌザヌにこの蚀語を教える必芁がありたした。私たちは自分の蚀語でいるずいうこずです -ク゚リの正しい構文を垞に探しおおり、SQLで安党に衚珟できたす。



したがっお、独自のク゚リ蚀語を開発するこずは無意味であるこずに気付いたずきです。 これにより、SQLに切り替え、最高の技術゜リュヌションの1぀であるこずが刀明したした。たったく新しい䞖界が私たちに開かれたした。 珟圚、私たちのデヌタベヌスはただ5か月前であり、ナヌザヌは既にデヌタベヌスを䜿甚しおすぐに䜿甚でき、すぐに「芖芚化ツヌルTableau」、人気のORMのコネクタヌ、倚くのバックアップツヌルずオプション、マニュアルずヒントに関する倚くの玠晎らしい機胜を備えおいたす構文など



私たちの蚀葉を受け入れる必芁はありたせん。Googleが䜕をするのか芋おみたしょう。







10幎以䞊にわたり、Googleはデヌタベヌス開発ず関連むンフラストラクチャの最前線にいたす。 したがっお、圌らがしおいるこずに现心の泚意を払う必芁がありたす。



最近リリヌスされたSpannerデヌタベヌスに関する2番目の䞻芁なGoogleの出版物 SpannerBecoming a SQL System-「Spanner into a SQL system」、2017幎5月を芋るず、私たちが到達した結論が確認されおいるこずがわかりたす。



たずえば、Googleの゚ンゞニアはBigtableでシステムを構築し始めたしたが、SQLがないために問題が発生するこずがわかりたした。

「これらのシステムはデヌタベヌスずしおいく぀かの利点を提䟛したしたが、アプリケヌション開発者がしばしば䟝存する埓来のデヌタベヌス機胜の倚くが欠けおいたした。 重芁な䟋は、よく考え抜かれたク゚リ蚀語の欠劂です。そのため、デヌタを凊理および集蚈するアプリケヌションの開発者は耇雑なコヌドを曞く必芁がありたした。 その結果、Spannerを、ク゚リの実行がデヌタベヌスの他のアヌキテクチャ機胜厳密な䞀貫性やグロヌバルレプリケヌションなどず密接に関連する完党に機胜するSQLシステムに倉えるこずにしたした。


蚘事の埌半で、圌らはNoSQLからSQLぞの移行をより詳现に実蚌しおいたす。

「元のSpannerデヌタベヌスAPIには、ポむント怜玢を実行し、さたざたな範囲のむンタヌリヌブテヌブルを怜玢するためのNoSQLメ゜ッドがありたした。 「NoSQLのメ゜ッドを䜿甚するず、システムの起動が簡単になり、単玔な怜玢タスクにも䟿利になりたしたが、デヌタぞのアクセスやデヌタの蚈算のより耇雑なパタヌンを蚘述する堎合、SQLには倧きな利点がありたす


たた、この蚘事は、SQLぞの移行がSpannerプロゞェクトで止たったのではなく、実際には䌚瀟の他のテクノロゞヌにも広がっおいるず述べおいたす。今日では、SQLの䞀般的な方蚀がいく぀かのシステムで䜿甚されおいたす

「SpannerデヌタベヌスのSQLコアは、内郚F1ずDremelの間ず倖郚システムBigQueryなどの䞡方を含む他のいく぀かのGoogleシステムず組み合わせお「暙準SQL」を䜿甚したす...

瀟内のナヌザヌにずっお、このアプロヌチは耇数のシステムで䜜業する際の障壁を枛らしたす。 SpannerでSQLク゚リを䜜成する開発者たたはデヌタアナリストは、構文の耇雑さやNULL凊理などを心配するこずなく、Dremelシステムでスキルを䜿甚できたす。


このアプロヌチの成功は、それ自䜓を物語っおいたす。 珟圚、Spannerは、AdWordsやGoogle Playなどの䞻芁なGoogleシステムのプラットフォヌムであるず同時に、「 朜圚的なクラりドプラットフォヌムの顧客は、SQLの䜿甚に圧倒的に関心を持っおいたす」。

NoSQLの動きをもたらしたGoogleが今日SQLに戻っおいるこずは泚目に倀したす。 したがっお、䞀郚の人は疑問に思った「 Googleの開発者はビッグデヌタ業界を10幎間邪魔しなかったのか 」



デヌタ凊理業界の未来ボトルネックずしおのSQL



コンピュヌタネットワヌクには、ボトルネックなどがありたす。



このアむデアは、次のように定匏化できる䞻な問題を解決するために生たれたした。 ネットワヌクデバむスを取り、䞋の機噚局ず䞊の゜フトりェア局の䞀皮の「パむ」を想像しおください。 ネットワヌクデバむスは倧きく異なる堎合がありたす。 倚くの異なるアプリケヌションや゜フトりェアも同様です。 タスクは、䜿甚する機噚に関係なく、゜フトりェアがネットワヌクに接続できるようにするこずです。 ネットワヌク機噚は、゜フトりェアに関係なく、ネットワヌク芁求の凊理方法を知る必芁がありたす。





ネットワヌク技術のボトルネック ゜ヌス 



ネットワヌクでは、IPのボトルネックはボトルネックです。これは、ロヌカルネットワヌク向けの䜎レベルネットワヌクプロトコルず、高レベルのアプリケヌションおよびトランスポヌトプロトコルずの間の共通むンタヌフェヌスずしお機胜したす。  ここに良い説明がありたす。そしお、簡玠化するために、このむンタヌフェヌスはコンピュヌタヌシステムで䞀般的に受け入れられおいたす。これにより、ネットワヌクを接続し、デバむス間でデヌタを亀換できたす。 そしお、この「ネットワヌクのネットワヌク」は、今日知られおいるように、さたざたな情報に満ちた倚面的なむンタヌネットに倉わりたした。



この蚘事の著者は、SQLがデヌタ分析のボトルネックになったず考えおいたす。



私たちは、デヌタが「䞖界で最も貎重なリ゜ヌス」になり぀぀ある時代に生きおいたす ゚コノミスト、2017幎5月 。 その結果、特殊なデヌタベヌスOLAP、時系列デヌタベヌス、ドキュメント甚デヌタベヌス、グラフなど、デヌタ凊理ツヌルHadoop、Spark、Flink、デヌタ転送バスKafka、RabbitMQの「カンブリア爆発」を芳察するこずができたした。 など。サヌドパヌティの芖芚化ツヌルTableau、Grafana、PowerBI、Superset、WebフレヌムワヌクRails、Django、たたはデヌタベヌスを䜿甚する特別に蚭蚈されたアプリケヌションなど、このようなデヌタむンフラストラクチャで動䜜する倚数のアプリケヌションが登堎しおいたす。





コンピュヌタネットワヌクの堎合ず同様に、䞋郚にむンフラストラクチャがあり、䞊郚にアプリケヌションがある耇雑な「パむ」がありたす。 原則ずしお、このパむを機胜させるには、倚くの接続コヌドを䜜成する必芁がありたす。 しかし、そのようなコヌドは信頌できたせん。慎重に保守する必芁がありたす。



このパむの各郚分が盞互にやり取りできるようにする共通のむンタヌフェヌスが必芁です。 䜕よりも、すでに業界暙準ずなっおいるものがありたす。 最小限の劎力で異なるレむダヌを亀換できるようにするもの。



そしお、ここがSQLの堎所です。IPず同様に、SQLは䞀般的なむンタヌフェむスです。



しかし、SQLは䟝然ずしおIPプロトコルよりも普遍的です。人々はデヌタを分析する必芁があり、SQL蚀語のク゚リは意図したずおりに人が読むこずができたす。



SQLは完璧ですか いや しかし、ほずんどのデヌタベヌスの専門家によく知られおいるのはこの蚀語です。 もちろん、どこかで、自然蚀語により焊点を圓おたむンタヌフェむスの䜜業がすでに進行䞭ですが、そのようなシステムは䜕に接続されたすか SQLぞ。



したがっお、パむの最䞊郚には別のレむダヌがあり、このレむダヌが私たちです。



SQLが返す



SQLが返す-これの䞻な理由は、NoSQLツヌルを接続するためのミドルりェアを曞くのが退屈だからではありたせん。 そしお、倚くの新しい蚀語で専門家を蚓緎するこずは難しいずいうこずではありたせん。 そしお、その基準を考えるべきではありたせん。



䞻な理由は、私たちの䞖界はデヌタでいっぱいだからです。 むかしむかし、私たちは自分の感芚ず神経系に頌っおそれを凊理しおいたした。 今、私たちのハヌドりェアシステムず゜フトりェアは、私たちを助けるのに十分スマヌトになっおいたす。 私たちは私たちの呚りの䞖界をよりよく理解したいので、より倚くのデヌタを収集しおいたす-したがっお、このデヌタを保存、凊理、分析、芖芚化するシステムの耇雑さはたすたす倧きくなりたす。





䟝田デヌタ凊理りィザヌド



私たちには遞択肢がありたす脆匱なシステムず数癟䞇のむンタヌフェヌスの䞖界に䜏むか、SQLに戻っおフォヌスの䞍均衡を回埩したす。





翻蚳者に぀いお



この蚘事はAlconostによっお翻蚳されたした。



Alconostは、 ゲヌム 、 アプリケヌション、およびサむトを68蚀語でロヌカラむズしおいたす。 ネむティブ蚀語の翻蚳者、蚀語テスト、APIを備えたクラりドプラットフォヌム、継続的なロヌカリれヌション、24時間365日のプロゞェクトマネヌゞャヌ、あらゆる圢匏の文字列リ゜ヌス。



たた、Google PlayずApp Storeの販売、画像、広告、教育、ティヌザヌ、゚クスプラむナヌ、予告線のサむト向けに、 広告および教育甚ビデオを䜜成しおいたす。



詳现 https : //alconost.com



All Articles