1

私は昨年かそこらの間 Django で開発してきましたが、本当に楽しんでいます。しかし、ORM は少し拘束力があると感じることがあります。データベースとやり取りするすべてのデータは、1 GB の RAM に簡単に収まります。プロジェクトが数桁大きくなったとしても、それでも 1GB に収まります。

アプリケーションが起動時にディスクから読み取る必要があるだけで、オブジェクトを更新するときに暗黙的にディスクに書き込むソリューションが必要です。これにより得られる速度の向上についてはあまり気にしません。私が本当に求めているのは、追加された柔軟性です。リンクされたリスト、ツリー、またはその他のデータ構造にうまく適合する問題がある場合、それをリレーショナル データベースに移植する必要はありません。

Python もいいですが、他の言語も問題ありません。私はこれについて探索段階にいます。そこにどのような解決策があるのか​​ を感じたいです。この質問をグーグルで検索すると、さまざまな Nosql プロジェクトに関連する多くのヒットがありました。しかし、Nosql とは、私が理解しているように、データが多すぎてリレーショナル データベースが使い果たせなくなったときに何をするかがすべてです。私は本当にスペクトルの反対側にいます。データが少なすぎて、リレーショナル データベースは実際にはやり過ぎです。

オブジェクトデータベースは、この質問をグーグルで検索したときに出てきた別のものであり、Zope と ZODB を思い出しました。私はずいぶん前に Zope に少し手を出しましたが、本当に嫌いでした。しかし、オブジェクト データベースについて少し調べてみると、それが私が探しているものかもしれないと思いました。繰り返しになりますが、ユーザーを引き付けることの一般的な失敗は、私を疑わしくさせます。オブジェクト データベースは非常に長い間使用されてきましたが、まだ普及していません。それは彼らに何か問題があることを意味していると思いますか?

4

2 に答える 2

3

データ構造をメモリ内に保存する」および「それらをディスクにバックアップする」ことを探しているなら、あなたは本当に永続的なキャッシュシステムを探しており、Redisはその法案に完全に適合します。

django を使用する場合は、すばらしいキャッシュ システムが組み込まれており、Redis-Cacheプロジェクトを介して redis バックエンドにプラグインできます。さらに、redis に対応するデータ構造は、Python のデータ構造に 1 対 1 でマッピングされるため、非常にシームレスです。

データベース自体の概念をスキップすることが良い考えかどうかはわかりません。データベースは、集約、注釈付け、関係などの点で非常に強力であり、実際に大規模になるまではすべて許容できるパフォーマンス レベルの範囲内です。

おそらく別のアイデアは、SQLite インメモリ データベースを使用することです。最近、SQLite はいたるところにあるため、インフラストラクチャに姿を消しました。Android アプリ、iPhone アプリに組み込まれており、すべての標準ライブラリからサポートされています。また、非常によく開発およびテストされた素晴らしいソフトウェアでもあり、使用に反対することは非常に困難です。

于 2011-06-28T10:53:27.950 に答える
1

私が働いている会社 (Starcounter) は、あなたが説明したとおりに機能するデータベースを作成しています。私たちはパートナーの顧客と数年間データベースを実行しており、製品を公開しようとしています. 私たちがそれを作成した主な理由は、使いやすさとパフォーマンスです。企業フォーラム (Starconter Jack) でメッセージを送っていただければ、喜んでコピーをお送りします。オブジェクト指向データベースの主題について。OO データベースが失敗した主な理由は、それらが実際の製品よりも実験的であったためです。それらは実装が不十分で、OO パラダイムのみをサポートし、SQL や ODBC などの標準を無視していました。また、安定性、パフォーマンス、成熟度にも欠けていました。彼らの話は、iPhone、iPad、Kindle の 10 年か 20 年前の初期のタブレット、電子書籍、スマートフォンに似ています。しかし、他のテクノロジーと同じように、2 つの波があります (「ハイプ サイクル」を調べてください)。最初の波はがっかりしますが、2 番目の波は良いでしょう。最初のものは、コンセプトとアイデアによって推進され、商業的な成功と実際の使用可能性に欠けます. 第 2 の波は、第 1 の波の失敗のカビ臭とは何の関係も望んでいないため、新しく新鮮な頭字語や流行語を使用します。将来のデータベースは、NoSQL ムーブメントから生まれます。SQL サポートが追加され、多くの人がこれを斬新だと考えるでしょう。これにより、優れた言語統合が追加され (ほとんどの言語は oo です)、多くの人がこれも斬新だと考えるでしょう。それはドキュメントをサポートし、多くの人はこれが斬新だと思うでしょう。多くの人が取引の必要性を再発見するでしょう。などなど。不機嫌そうな老人の中には、私たちが行ったことは既存のアイデアを再発明することだけだと私たちに言おうとする人もいます。ある意味で彼らは正しいでしょう。いくつかの点で、彼らはしません。今回は、コンセプトが成熟しています。新しいアイデアが追加され、実用主義が許可されます。繰り返しになりますが、iPad はある意味ではまだ PDA です。

于 2011-06-29T11:22:00.440 に答える