2012-08-08 25 views
0

我正計劃最終將我的網站的數據庫系統從MySQL切換到NoSQL(在這種情況下爲Cassandra)。從MySQL切換到Cassandra(NoSQL)的未來潛力

從我迄今爲止對卡桑德拉的理解來看,就是沒有連接這樣的事情,而只是更高效地工作的大型記錄。我在NoSQL atm方面沒有標準的專家,但我對它的理解非常少,並且對它的工作原理非常困惑......

我的web項目的一個目標是切換到Python和Cassandra提供更先進,更快速的解決方案,因爲我的網站開始增長,我希望能夠通過額外的服務器輕鬆擴展。

現在我正在爲我的網站設計一個新功能的過程中,能夠採取文件和創建文件夾。到目前爲止,這是我最初使用的:How to join/subquery a second table(我剛纔問的一個問題)

然後人們建議規範化數據,並使其成爲一個3表系統,包括一個文件夾,一個文件夾/文件和一個用於文件。 @egrunin回答了我的問題,甚至給了我關於NoSQL的信息,但我真的想用第二個來源來檢查它,以確保這是正確的方法。

也有任何SQL到NoSQL的轉換工具?

所以我的最終目標是在數據庫中設計這個文件夾/文件系統(以及我添加的其他功能),以便當我從SQL切換到NoSQL時,我將準備好並轉換所有數據會容易很多。

有關將SQL轉換爲NoSQL,Cassandra或NoSQL的工作方式的任何教程,指南和信息都非常感謝,至此Cassandra文檔讓我非常困惑。

+0

你有沒有做過任何原型/玩弄的NoSQL?恕我直言,最大的區別在於無模式本質,因此您可以隨着時間的推移演變您的模式。我建議在嘗試移動大型應用程序之前嘗試一些實驗,以便了解NoSQL中數據模型演進的工作方式。 – 2012-08-08 17:37:03

+0

我還沒有嘗試過,但我希望有人可以給我如何試圖設置我的文件夾/文件數據庫模式,所以當我做切換到卡桑德拉它將涉及轉換儘可能最少的一些指導: )如果沒有,我現在就只是規範化它。我開始閱讀關於NoSQL的信息,稍後我會獲得更多信息,好東西。 – MasterGberry 2012-08-08 19:49:30

回答

5

在Couchbase我們最近做了有關從RDBMS到NoSQL的過渡網絡研討會系列。這顯然是通過JSON文件的鏡頭,但很多教訓將適用於任何分佈式數據庫。

http://www.couchbase.com/webinars

3

MasterGberry:

我的一個目標,爲我的web項目是切換到Python和卡桑德拉一個更先進,更迅速的解決方案,我的網站已經開始成長,我希望能夠擴展它輕鬆與額外的服務器。

這是在切換到Cassandra之前需要清楚地量化的東西。

MySQL可以做amazing things所以Cassandra也可以,但切換到Cassandra通常不能僅僅因爲想要更快地完成任務而被驅動,因爲它們可能不會更快 - 至少不是在您用於MySQL的地方很好(在定義良好的表格數據上的列級數值聚合)。

我並不意味着不鼓勵過渡,但我對預期發出警告。

這可能是一個良好的閱讀: http://itsecrets.wordpress.com/2012/01/12/jumping-from-mysql-to-cassandra-a-success-story/

+0

一個卡桑德拉的優點是數據庫服務器的社交性,所以是的,我覺得它會在長期內被證明是對我來說更有效的:)至於博客閱讀,它實際上是像90%來自卡桑德拉文件複製....仍然不是10%清楚哈哈。 – MasterGberry 2012-08-08 17:57:40

0

其實,你可以使用一個工具,如playOrm支持加入,但是,分區不僅沒有整個表。所以,如果你按月或帳戶分區,您可以抓取賬戶4536分區和查詢到與其他的東西(無論是另一個較小的表或從另一個表中的另一個分區)加入它。

,如果你有一個系統,有很多的客戶和每一個客戶是真正獨立的另一個客戶端的,你自己可以包含所有客戶信息到所有表的客戶端的分區,這是非常有用的。

後, 院長

0

卡桑德拉是不是真的意味着是一個應用程序的主存儲器。其主要目的之一是存儲順序數據,並通過密鑰查找來提取所有數據。一個例子是日誌記錄。有趣的是,行鍵沒有排序,但列名是。因此,日誌記錄會每分鐘都有一個鍵,然後爲每個日誌條目創建一個新列,並將順序時間戳記作爲列的名稱。這只是一個例子,聊天記錄是另一個例子。