webdevqa.jp.net

次世代データベース

私は従来のリレーショナルデータベース( PostgreSQL を使用)を学び、いくつかの新しいタイプのデータベースに出くわしました。 CouchDBDrizzle 、および Scalaris いくつか例を挙げると、次に対処するデータベーステクノロジは何でしょうか。

54
Randin

次世代SQLではなく、次世代データベースと言います。

SQLは、リレーショナルデータベースをクエリおよび操作するための言語です。 SQLは、国際標準によって規定されています。標準は改訂されていますが、リレーショナルデータベースのパラダイム内で常に機能しているようです。

現在注目を集めている新しいデータストレージテクノロジーをいくつか紹介します。

  • CouchDB は非リレーショナルデータベースです。彼らはそれをドキュメント指向データベースと呼んでいます。
  • Amazon SimpleDB も、Webサービスを介して分散的にアクセスされる非リレーショナルデータベースです。 Amazonには、Dynamoと呼ばれる分散型Key-Valueストアもあり、S3サービスの一部を強化しています。
  • Dynomite および Kai は、AmazonDynamoに触発されたオープンソースソリューションです。
  • BigTable は、Googleが使用し、Googleファイルシステムテクノロジーを使用して実装された独自のデータストレージソリューションです。 GoogleのMapReduceフレームワークはBigTableを使用しています。
  • Hadoop は、GoogleのMapReduceに触発され、同様のニーズに対応して、非常に大規模な作業を配布するオープンソーステクノロジーです。スケールデータストア。
  • Scalaris は分散型トランザクションキー/値ストアです。また、リレーショナルではなく、SQLを使用しません。これは、ドイツのベルリンにあるZuseInstituteの研究プロジェクトです。
  • [〜#〜] rdf [〜#〜] は、データとメタデータが含まれるセマンティックデータを格納するための標準です。交換可能。独自のクエリ言語SPARQLがあり、表面的にはSQLに似ていますが、実際にはまったく異なります。
  • Vertica は、分散(グリッド)アーキテクチャ用に設計された、拡張性の高い列指向の分析データベースです。リレーショナルでSQLに準拠していると主張しています。これは、AmazonのElastic ComputeCloudを介して使用できます。
  • Greenplum は、MapReduceとSQLの両方を実装する大規模なデータウェアハウスDBMSです。
  • [〜#〜] xml [〜#〜] はDBMSではなく、交換形式です。ただし、一部のDBMS製品は、XML形式のデータを処理します。
  • [〜#〜] odbms [〜#〜] 、またはオブジェクトデータベースは、複雑なデータを管理するためのものです。おそらく標準化の欠如のために、主流に支配的なODBMS製品はないようです。標準SQLは、いくつかのOO機能(拡張可能なデータ型やテーブルなど)を徐々に獲得しています。
  • Drizzle はリレーショナルデータベースであり、MySQLから多くのコードを引き出します。これには、スケーラブルな「クラウドコンピューティング」システムアーキテクチャでデータを管理するために設計されたさまざまなアーキテクチャの変更が含まれています。おそらく、MySQLのいくつかの拡張機能を備えた標準SQLを引き続き使用します。
  • Cassandra は、作成者の1人がFacebookで開発した、拡張性が高く、結果整合性のある、分散型の構造化されたKey-Valueストアです。 Amazon Dynamoのメンバーであり、Apacheプロジェクトに貢献しました。
  • Project Voldemort は、非リレーショナルの分散型Key-Valueストレージシステムです。 LinkedIn.comで使用されています
  • Berkeley DB も言及に値します。 1990年代初頭にさかのぼるので、「次世代」ではありません。これは、さまざまなアプリケーションに簡単に組み込むことができる人気のあるKey-Valueストアです。このテクノロジーは現在、OracleCorpが所有しています。

リチャード・ジョーンズによるこのニースの記事も参照してください: " Anti-RDBMS:分散型Key-Valueストアのリスト 。"彼は、これらのテクノロジーのいくつかについて詳しく説明します。

確かに、リレーショナルデータベースには弱点があります。人々は、最初に導入された日から、すべてのデータモデリング要件を処理しているわけではないと主張してきました。

研究者は毎年、特別な要件を満たすためにデータを管理する新しい方法を考え出します。リレーショナルモデルに適合しないデータ関係を処理するための要件、またはデータ処理を要求する大規模なボリュームまたは速度の要件のいずれかです。中央データベースサーバーではなく、サーバーの分散コレクションで。

これらの高度なテクノロジは、設計された特殊な問題を解決するために優れた機能を果たしますが、リレーショナルデータベースは、ほとんどのビジネスニーズに適した汎用ソリューションです。 SQLがなくなることはありません。


Php | Architectマガジンに、非リレーショナルデータベースの革新と、リレーショナルデータベースと非リレーショナルデータベースのデータモデリングに関する記事を書きました。 http://www.phparch.com/magazine/2010-2/september/

103
Bill Karwin

これまでの回答にはグラフデータベースがありません。オブジェクトのグラフまたはネットワークはプログラミングでは一般的であり、データベースでも役立ちます。半構造化され相互接続された情報を効率的な方法で処理できます。グラフデータベースが大きな関心を集めている分野の中には、セマンティックWebとバイオインフォマティクスがあります。 RDFが言及されましたが、実際にはグラフを表す言語です。グラフデータベース領域で何が起こっているかを示すいくつかのポインタを次に示します。

私は Neo4j プロジェクトの一部です。このプロジェクトはJavaで記述されていますが、Pythonにバインドされています、Ruby and Scalaも。ClojureまたはGroovy/Grailsで使用する人もいます。 GUIツール 進化もあります。

25
nawroth

これに答えるのに最適な場所ではないかもしれませんが、Steve Yenによって作成されたnoSQLの世界のこの分類法を共有したいと思います( http://de.slideshare.net/northscale/nosqloakland-で見つけてください) 200911021

  1. key-value-cache

    • memcached
    • repcached
    • コヒーレンス
    • インフィニスパン
    • eXtremescale
    • jbosscache
    • 速度
    • テラコカ
  2. key-value-store

    • キースペース
    • フレア
    • スキーマフリー
    • RAMCloud
  3. 結果整合性のあるKey-Value-store

    • ダイナモ
    • ヴォルデモート
    • ダイノマイト
    • サブレコード
    • MongoDb
    • Dovetaildb
  4. ordered-key-value-store

    • tokyotyrant
    • lightcloud
    • NMDB
    • ルクシオ
    • memcachedb
    • 俳優
  5. データ構造サーバー

    • redis
  6. タプルストア

    • ギガスペース
    • コーディネート
    • Apacheriver
  7. オブジェクトデータベース

    • ZopeDB
    • db4o
    • 浅瀬
  8. ドキュメントストア

    • CouchDB
    • モンゴ
    • ジャックラビット
    • XMLDatabases
    • ThruDB
    • CloudKit
    • Perservere
    • RiakBasho
    • スカラリス
  9. ワイドカラムストア

    • BigTable
    • Hbase
    • Cassandra
    • Hypertable
    • カイ
    • OpenNep
10
Paolo Bozzola

次世代データベースの分野でどのような学術研究が行われているのかを調べるには、これを見てください: http://www.thethirdmanifesto.com/

リレーショナルモデルの適切な実装としてのSQL言語に関して、私はwikipediaから引用します。「最初はリレーショナルデータベースの標準言語としてプッシュされたSQLは、いくつかの場所でリレーショナルモデルから逸脱しています。現在のISOSQL標準はそうではありません。リレーショナルモデルについて言及するか、リレーショナル用語や概念を使用します。ただし、特定のSQL機能を使用しない場合は、SQLを使用してリレーショナルモデルに準拠したデータベースを作成できます。」

http://en.wikipedia.org/wiki/Relational_model (2010年3月28日の「SQLとリレーショナルモデル」のセクションで参照)

2
Norman H

MarkLogicやBerkeleyXMLDBのようなXML用の特別なデータベースがあります。それらはxml-docsにインデックスを付けることができ、XQueryでそれらを照会することができます。 JSONデータベースを期待しています。おそらくすでに存在しています。グーグルをしましたが、見つかりませんでした。

1
tuinstoel

衒学的ではありませんが、少なくともCouchDBはSQLベースではないことを指摘したいと思います。そして、次世代SQLによってSQLが大幅に少なくなることを願っています...曖昧で直感的ではありません。

1
Jason Baker

ジム・スターキーのNimbusDBについても聞いた

ジムスターキーはInterbaseを「作成」する人です

バルカン(ファイヤーバードフォーク)に取り組んでいる人

falcon forMySQLの最初は誰でしたか

SQLは1970年代初頭から存在しているので、すぐになくなるとは思いません。

たぶん、「新しい(-ish)sql」はoqlになります( http://en.wikipedia.org/wiki/ODBMS を参照)

0