簡體   English   中英

將Cassandra CQL3與Python Web框架一起使用

[英]Using Cassandra CQL3 with Python web framework

我正在嘗試使用Django構建電影Web應用程序。 我決定選擇Cassandra作為后端。 在研究了cassandra一段時間后,我發現Thrift API現在已成為舊版,並且社區鼓勵使用CQL 3.0。但是在Django中,我不知道對cql的任何支持。 據我所知有: https : //github.com/vaterlaus/django_cassandra_backend https://github.com/pycassa/pycassa

但是兩者都遵循Thrift API。 另外,我找不到像MongoDB這樣的Cassandra和Django集成的許多示例。 經過大量研究后,我決定使用Cassandra,並看到CQL 3.0的強大功能,所以我不想放棄我的數據庫選擇。 相反,我願意在Python中尋找其他Web框架,例如Pylons,Flask等。對此有何建議? 就像我過去使用Django一樣,我想繼續使用它,但是Django的主要優點(關系數據庫的Django ORM)在這里並不適用。 有什么方法可以將MySQL和Cassandra與Django集成在一起以使其工作? 除Twissandra示例外,是否還有使用Django設置Cassandra的教程?

除了觀察Twissandra的settings.py之外,它還說:

DATABASE_ENGINE = 'sqlite3'         
DATABASE_NAME = 'dev.db' 

鏈接: https : //github.com/twissandra/twissandra/blob/master/settings.py

如果在Cassandra上運行,它怎么指定sqlite3? 我在這里缺少某種整合嗎?

由於您要查找對象映射器,因此建議您查看cqlengine。 (免責聲明:這是我的項目:))它已經開發了2年多,並且已經被許多大公司使用。

http://cqlengine.readthedocs.org/en/latest/

至於與Django搭配使用,請參閱https://pypi.python.org/pypi/django-cassandra-engine/

這里有兩個主題。

關於更好的cassandra驅動程序

https://github.com/datastax/python-driver ,它使用CQL,簡單而強大。

關於Django / Cassandra

好吧,這里沒有簡單的解決方案。 有一個django-nonrel項目,但重點是Mongo和GAE。

我建議您對大多數內容使用RDMS(MySQL / PostgreSQL),僅在必要時使用cassandra。

是的,您還可以使用其他網絡框架,例如龍卷風,但是如果習慣了處理會話,身份驗證,表單之類的事情,將很痛苦。

Twissandra之所以使用sqlite3是因為django 需要使用數據庫才能工作。 因此,根本沒有django / cassandra集成。


這超出了您的問題范圍:如果您想制作電影網絡應用程序,則可能不需要cassandra作為核心數據。 您可能僅需要它用於評分,統計數據或存儲等內容。 對於核心數據,標准的RDMS可能會更好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM