タグ付けされた質問 「nosql」

5
リレーショナルDBMSのデータが大きくなっています。NoSQLに移行する時ですか?
eラーニングを目的としたソーシャルネットワークアプリケーションを作成しました。これは実験室で研究している実験プロジェクトです。しばらくの間、いくつかのケーススタディで使用されており、リレーショナルDBMS(SQL Server 2008)のデータは大きくなっています。現在は数ギガバイトであり、テーブルは相互に高度に接続されています。パフォーマンスは依然として良好ですが、いつ他のオプションを検討する必要がありますか?パフォーマンスの問題ですか?


2
HadoopとnoSQLの違いは何ですか
人々がデータを処理するのを支援するための多くのツール/フレームワークについて聞いた(ビッグデータ環境)。 1つはHadoopと呼ばれ、もう1つはnoSQLの概念です。処理のポイントの違いは何ですか? それらは補完的ですか?

1
リレーショナルデータベースのパフォーマンスが、非リレーショナルデータベースよりも優れている場合
MySQLのようなリレーショナルデータベースが、MongoDBのような非リレーショナルデータベースよりもパフォーマンスが優れている場合 先日、Quoraで、QuoraがまだMySQLをバックエンドとして使用している理由と、パフォーマンスが依然として良好であるという質問を見ました。

1
最も効率的なデータインデックス付け手法は何ですか
誰もが知っているように、Lucene(Javaの場合)またはLucene.NET(.NETの場合)、MurMurHash、B + Treeなど、よく知られたインデックス作成アプリを使用したいくつかのデータインデックス作成手法があります。No-Sql/オブジェクトの場合指向データベース(私はC#で少し書いたり遊んだりしようとしています)、どの手法を提案しますか? MurMurhash-2について読み、特にv3のコメントでMurmurは非常に高速であると述べています。Lucene.Netにも良いコメントがあります。しかし、一般的に彼らのメモリフットプリントはどうですか?LuceneやMurmurよりもフットプリントが少ない(そしてもちろん高速の方が望ましい場合)効率的なソリューションはありますか?または、最良の結果を得るために特別なインデックス構造を作成する必要がありますか? 私が自分で書き込もうとすると、データノードの1%やデータノードの5%など、適切なインデックス付けに受け入れられるスケールはありますか?任意の有用なヒントをいただければ幸いです。

2
このNeo4jとRDBMS実行時間の比較は正しいですか?
背景:以下は、本 『Neo4j in Action』で言及されているパフォーマンステストをカバーする本「Graph Databases」からの抜粋です。 グラフの関係は自然にパスを形成します。グラフのクエリまたはトラバースには、次のパスが含まれます。データモデルには基本的にパス指向の性質があるため、パスベースのグラフデータベース操作の大部分は、データのレイアウト方法と高度に連携しており、非常に効率的です。彼らの著書「Neo4j in Action」では、PartnerとVukoticがリレーショナルストアとNeo4jを使用して実験を行っています。 比較は、グラフデータベースがリレーショナルストアよりも接続されたデータの方が大幅に高速であることを示しています。パートナーとVukoticの実験では、最大5つの深さまで、ソーシャルネットワークで友達の友達を見つけようとしています。ランダムに選択された2人の人物がいる場合、それらを結ぶパスは最大で5つの関係です 表2-1に示すように、それぞれが約50人の友達がいる1,000,000人のソーシャルネットワークの場合、結果はグラフデータベースが接続されたデータに最適であることを強く示唆しています。 表2-1。リレーショナルデータベースでの拡張友達の検索とNeo4jでの効率的な検索の比較 Depth RDBMS Execution time (s) Neo4j Execution time (s) Records returned 2 0.016 0.01 ~2500 3 30.267 0.168 ~110,000 4 1543.505 1.359 ~600,000 5 Unfinished 2.132 ~800,000 深さ2(友人同士)では、リレーショナルデータベースとグラフデータベースの両方が十分に機能し、オンラインシステムでの使用を検討できます。Neo4jクエリはリレーショナルクエリの3分の2の時間で実行されますが、エンドユーザーは2つのクエリのミリ秒単位の違いにほとんど気付かないでしょう。ただし、深さ3(友達同士)に到達するまでに、リレーショナルデータベースが適切な時間枠でクエリを処理できなくなっていることは明らかです。完了するまでにかかる30秒は完全に許容できません。オンラインシステムの場合。これとは対照的に、Neo4jの応答時間は比較的フラットなままです。クエリを実行するのに必要な時間はほんの一瞬で、オンラインシステムに十分高速です。 深さ4では、リレーショナルデータベースはレイテンシが損なわれ、オンラインシステムでは実質的に役に立たなくなります。Neo4jのタイミングも少し低下しましたが、ここでの待ち時間は、応答性の高いオンラインシステムで許容できる範囲にあります。最後に、深さ5では、リレーショナルデータベースはクエリを完了するのに時間がかかりすぎます。対照的に、Neo4jは約2秒で結果を返します。深さ5では、ネットワーク全体が私たちの友人です。多くの実際の使用例では、結果とタイミングを整える可能性があります。 質問は: これは、ソーシャルネットワークで見つける以外に何をエミュレートするための合理的なテストですか?(実際のソーシャルネットワークには通常、たとえば約50人の友達がいるノードがあることを意味します。「リッチゲットリッチ」モデルはソーシャルネットワークにとってより自然なようですが、間違っている可能性があります。) エミュレーションの自然さに関わらず、結果がずれている、または再現できないと考える理由はありますか?
10 databases  nosql  neo4j 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.