我正在尝试使用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集成的例子。经过相当多的研究并看到CQL 3.0的强大功能后,我决定使用Cassandra,我不想放弃我的数据库选择。相反,我愿意在Python中寻找其他的web框架,比如Pylons,Flask等等,所以有什么建议吗?因为我以前使用过Django,所以我想继续使用它,但是Django的主要优点是关系数据库的Django ORM在这里不适用。有没有办法将MySQL和Cassandra与Django集成起来使其正常工作?此外,除了Twissandra示例之外,还有没有使用Django设置Cassandra的教程?
除了观察茨桑德拉的settings.py外,它还说:
DATABASE_ENGINE = 'sqlite3'
DATABASE_NAME = 'dev.db'
链接:https://github.com/twissandra/twissandra/blob/master/settings.py
如果它在Cassandra上工作,为什么它指定sqlite3?我是不是错过了某种集成?
发布于 2014-10-17 23:23:04
既然你正在寻找一个对象映射器,我建议你看看cqlengine。(免责声明:这是我的项目:))它已经开发了两年多,并被相当多的大公司使用。
http://cqlengine.readthedocs.org/en/latest/
至于在Django中使用它,请参阅https://pypi.python.org/pypi/django-cassandra-engine/
发布于 2014-02-26 07:10:25
这里有两个主题。
关于更好的cassandra驱动程序
https://github.com/datastax/python-driver,它使用CQL,它简单而强大。
关于Django / Cassandra
好吧,这里没有简单的解决方案。有一个django-nonrel项目,但它的重点是Mongo和GAE。
我建议您使用RDMS (MySQL/PostgreSQL)来处理大部分内容,并且只在必要时使用cassandra。
是的,你也可以使用其他的webframework,比如tornado,但是当你习惯了它的时候,处理像会话,身份验证,表单这样的事情是很痛苦的。
Twissandra使用sqlite3只是因为django需要使用数据库才能工作。所以根本没有django/cassandra集成。
这超出了你的问题的范围:如果你想做一个电影web应用,你可能不需要cassandra的核心数据。你可能只需要它做一些事情,比如评级,统计,也许是存储。对于核心数据,标准的RDMS可能要好得多。
https://stackoverflow.com/questions/21957069
复制相似问题