如何从Delphi访问Cassandra分布式数据库

时间:2010-03-17 01:10:23

标签: delphi cassandra

我正在研究Cassandra是否可以作为我们服务器软件的分布式数据库存储的选项。

服务器软件是用Delphi编写的,但是我很难找到如何从Delphi访问Cassandra数据库的描述。

5 个答案:

答案 0 :(得分:2)

一个建议elsewhere on SO是为Thrift框架编写自己的Delphi生成器。

答案 1 :(得分:1)

我看到两个选项,要么编写自己的本机Delphi驱动程序,要么以某种方式使用可用的驱动程序。

一种解决方案可能是使用Python4Delphi在Delphi应用程序中托管Python,并使用Python代码连接Cassandra。有点笨拙和性能可能不是最好的。


修改 选项#3:使用支持的语言编写代理服务器,为您的Delphi应用程序提供接口。

答案 2 :(得分:0)

Cassandra是用Java编写的,通常部署在Linux系统上(术语LAMP,指的是通常的嫌疑人堆栈; linux-apache-mysql-php)。在这种情况下,Cassandra将成为类似MySql之类的No-SQL bigtable替代品,并且将由以Java为中心的开发人员使用,因此没有PhP。但你仍然在谈论Unix / Linux世界,而Delphi存在于Windows世界中。

因此,Cassandra在Linux(Web服务器)框上运行,如何从运行Windows框的Delphi应用程序访问它? API是facebook“Thrift”API的一部分。您可以使用Python-Delphi集成模块来加载Python thrift API。或者您可以编写自己的原生pascal Thrift集成。我看到两种方法都存在问题。一方面,无论哪种方式,你都会独自在这里。

看起来Cassandra可以在Windows上运行(它是用Java编写的,所以它更好!),并且包含一个bat文件以在Windows上启动它,但文件布局“更适合Unix使用”,并且它几乎只在Linux或Unix系统上部署。

答案 3 :(得分:0)

只是为了更新这个问题,因为这是谷歌在这个问题上为数不多的回报之一,现在在apache.org上有一个关于Thrift的Delphi实现。

答案 4 :(得分:0)

另一个更新:正在处理PasCassa,一个基于Thrift接口的Delphi的Cassandra客户端here