2012-03-27 79 views
2

我需要一些幫助爲我的應用程序選擇數據庫。哪個數據庫適合細微的數據需求

我的web應用程序基本上由一個主表組成。我們稱之爲「用戶」表。 它將有用戶信息,如姓名,身份證,密碼,地址,電話等。 將有5個其他相關表格,我將保存每個用戶的信息。 例如。閱讀的書籍,聽到的歌曲表,吃過的食物等。

總的來說,我不希望我的數據超過1,000個用戶。 所以,我有很小的數據要求。 通常我會用mysql,但我感覺有點冒險。 我想嘗試一些塊上的新解決方案。 我的要求是:1。 純粹的性能 2.良好的文檔,易用性

的,因爲我的分貝大小不應超過大小几百兆多,我寧願在內存中的整個表本身爲更快的表現。那麼一些新的NoSQL數據庫呢?

有什麼建議嗎?我主要工作在oracle和MySQl上,並且對那裏所有新的令人興奮的東西沒有太多的想法。

+0

我是MySQL的忠實粉絲。 – 2012-03-27 22:48:06

回答

1

Neo4j(對於Java)是一個非常棒的工具。它在技術上是一個圖形數據庫,但是根據您的數據模型的聲音,我認爲它非常適合您。從我看到它的表現非常好,它的文檔非常好,如果你使用Java,那麼它就像是第二本質。你基本上把它指向一個目錄,並在那裏建立商店。

如果您感覺冒險,並恰好使用Java,我建議您試試看。

+0

啊,我的不好。我正在使用python。應該提到這一點。因爲,這是一個個人項目,我確實想冒險。 但是,多虧了我指向圖數據庫。聽起來像一個有趣的新事物來學習。 – 2012-03-28 06:43:29

4

如果您的數據庫要求很小,我會建議使用sqlite。

從SQLite的網站:

SQLite是一個小型圖書館。啓用所有功能後,庫 的大小可能小於350KiB,具體取決於目標平臺和 編譯器優化設置。 (64位代碼較大,而一些 編譯器優化(如積極函數內聯和循環 展開可能會導致目標代碼更大)。如果可選 功能被省略,則可以減少SQLite庫的大小 低於200KiB。 SQLite也可以在最小堆棧空間(4KiB)和非常小的堆(100KiB)下運行,從而使SQLite成爲受限內存的小工具(如手機,PDA, 和MP3播放器)上的熱門數據庫選擇。內存使用和速度之間有一個折衷。 SQLite通常運行得越快,所提供的內存就越多。不過,即使在低內存環境下,性能通常也相當不錯。

2

面向對象的dbs可以像db4o或versant一樣使用。

1

我認爲redis正是你想要的!

昨天我第一次下載並安裝了它。它完全在內存中運行,並且符合您的性能要求。(它只將數據寫入磁盤,以備電源故障之類的情況,如備份,但這不會減慢對其的寫入速度。)

對於Linux及其它,在下載頁面上有tar.gz。

對於windows,您可以下載Dusan的本地端口:http://redis.io/download - 它已預編譯,並且還有客戶端控制檯可供嘗試。

該文檔非常好,例如這是數據類型的頁面:http://redis.io/topics/data-types並且您還可以在其中找到所有其他相關信息作爲快速瀏覽參考。

還有一個很好的在線教程快速入門:http://try.redis-db.com/這實際上是有趣的工作。

我喜歡像「增量」這樣的原子操作,並且列表結構是push和pop。

還有一個散列類型。

對於蟒蛇有Redis的-PY:https://github.com/andymccurdy/redis-py

我自己是一個Python編碼我認爲Redis的報價做很好的搭配蟒蛇數據類型的數據結構。

+0

謝謝。我會檢查出來的。 聽起來很有趣。 – 2012-05-04 07:35:20