NoSQLおよびMPPと呼ばれるデータを保存および処理するための新しいテクノロジーを作成する理由について、私のビジョンを説明します。
この記事は、特にデータベース開発の初心者パイオニアにとって有用です。
この記事では、ベクター、グラフィック、およびその他の非標準形式の専用データベースについては説明していません。
まず、SQLとRDBMS
1.1。 SQL言語と、トランザクション、外部キー、テーブルとしてのRDBMSの基本原則を知っている必要があります。
あなたがJava開発者であり、まだいくつかのSQLおよびRDBMS機能を知っている必要があるとします。 当然、あなたは怠け者であり、何らかの形で注意をそらそうとします。
また、OOPの原則はRDBMSのデータモデルとは大きく異なります。
1.2。 大規模なプロジェクトがある場合は、専門のデータベース開発者が必要です。これは、将来プロジェクトがない場合の追加のバラストです。
Javaプログラマーは、SQLとRDBMSをバイパスして、Javaですべてのビジネスロジックを実行したいと考えています。
第二に、価格
2.1。 ビッグデータでコモディティサーバーを使用できない。 600テラバイトがある場合、ExadataまたはTeradataのみがRDBMSから動作します。
2.2。 耐障害性。 シェアードナッシングやシングルポイントフェールテクノロジーがなければ、すべてを二重にバックアップして、高価なサーバーを購入せざるを得なくなります。
RAIDコントローラー、電源、無停電電源の購入、高価なストレージなど。
2.3。 ライセンスの価格。 数百テラバイトを保持できる高度なRDBMSは、特にアプライアンスソリューションでは安くありません。
第三に、> = 1 Pbのデータ
3.1。 1ペタバイト以上のデータがある場合、RDBMSからは2000万ドルのTeradataのみが適しています
その後、1ペタバイトのデータあたり3重の冗長性を備えたHadoop用のクラスターをどのように構築するかは、367,000ドル(ディスクを搭載したサーバーのみ)になります。
これらのサーバーとRAID 0の4つのディスク
www.ulmart.ru/goods/613438
www.ulmart.ru/goods/690535
真実は、電気が壊れたということです。 このような発想には、ミニ発電所が必要です。
それが、この動きがNoSQL、Hadoop、MPPを始めた理由です。 上記の機能、不便、不利益を解決します。
結論:
RDBMSは、すべての問題を解決できるユニバーサルデータベースのままです。 それで、もう一度あなたに上記のポイントの1つがあなたにとって重要であるかどうか考えることを勧めます 。 そうでない場合は、お気軽に通常のRDBMSをお試しください!
評決:
1.ニワトリがお金を稼いでいない場合は、開発が複雑であるか、ノンブロッキング読み取りが必要であり、快適な開発条件が必要です。
Exadataを購入する
2.ニワトリがお金を稼いでいないなら、それはそれほど難しい開発ではありません、あなたは良い道具の欠如を恐れていません
ユニットを作成するのは好きではありませんが、フルスキャンのブルートフォースのように、Teradataを購入します
3.お金はあるが、数えることができる場合、10テラバイト未満の安定した普遍的で簡単に開発できるデータベースとデータが必要であり、管理の複雑さを恐れず、通常のOracle
4.お金はないが、データが1 TB以下であるが、複雑なロジックを備えたデータベースを開発するための優れたプラットフォームが必要な場合は、PostgreSQLを使用します。
5. SQLおよびRDBMSのスキルがない場合、データは疎結合であるか、すべてをキャッチする優れたETLがあります。 複数のテーブルを結合しない複雑なクエリではありません。 すべてのロジックはデータベースにありません。 NoSQL DBは非常に適していますが、前述したように、RDBMSは普遍的であり、使用方法を知っていれば何でもできます。