问题标签 [phpcassa]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHPCassa - 使用 uuid 时间戳作为键时无法插入
我正在尝试将数据存储到 cassandra 中,并按时间排序。使用 TimeUUIDType 作为键时遇到问题。
phpcassa 出现以下错误...
调用插入方法时会发生这种情况...
我使用 cassandra-cli 使用以下命令创建了一个测试表...
cassandra - phpcassa cassandra 批量突变
你能提供一个 phpcassa 中的 batch_mutate() 函数的例子吗?
无法理解如何使用此功能,也没有找到足够的信息。
我也想知道如何将它与计数器一起使用
提前致谢。
php - Cassandra(phpcassa)反转密钥?
我知道我可以反转列顺序,例如:
$rows = $test->get_range("", "", 10, NULL, "", "", true);
但是键在 db 中,例如 1、2、3、4 我想获取最新的 10 个键,然后像反向分页一样。所以我基本上想要先进先出。最好的方法是什么?
当然,我可以从 cassandra 中获取所有密钥,然后通过 php 将它们反转,但必须有更优雅的东西。
database-design - 在 Cassandra 中组织范围扫描的行键的方法
我正在尝试找到一种好方法来组织我的行键以对它们执行范围扫描,而无需创建自己的索引列表。
我有一个 MySQL 数据库,目前大约有 15.000 个数据库,每个 ~50 个表 = 75.000 个表。因为 99% 的数据始终使用唯一标识符读取,因此计划将数据移动到 Cassandra 集群中。
对于某些维护(列出完整表的内容、删除完整表或删除数据库)的情况,我需要获取完整表甚至数据库的内容。Range-Scans 似乎非常适合这种情况。
目前,我正计划为旧结构的每个部分生成 UUID,并将它们放在一起,用|
(DB + Table + Id = UUID1|UUID2|UUID2) 分隔。
例子:
带有数据的 CF 应使用 排序org.apache.cassandra.db.marshal.AsciiType
。
作为客户端,我正在使用 phpcassa。
对于范围扫描,我想使用一个UUID|
作为开始键和作为范围的结束,相同的键但带有chr(255)
或z
附加到它。这两个字符的 ascii 值大于该键中跟随的任何其他 UUID 字符。
这是一种可靠的方法,可以让我实现范围扫描的解释目标吗?
php - 从 Cassandra-PHP 中的键类型 TimeUUID 获取值
我是 cassandra 的新手,我想从列族中获取值,其中键是 TimeUUIDType。
我将 PHP 与 PHPCassa 一起使用,我可以在列族中正确插入(设置),并使用函数生成 uuid:
当我尝试获取列族时会出现问题,因为我有字符串格式的 uuid(类似的东西):
我想知道是否可以将字符串形式转换或转换为 php 或 phpcassa 中的 cassandra 的有效 uuid,因为我的目的是在另一个页面中从 $uuuidString 创建正确的 uuid。
谢谢。
cassandra - 使用 phpcassa 对 cassandra 进行 Multiget 查询
我正在使用每行 330 个键和 750 列触发 multiget 查询。
它在 phpcassa 代码中的某个地方死亡。最糟糕的是,它没有抛出任何异常。
脚本突然终止。我应该做任何设置吗?
如果我从这 750 列中取出几列,它工作正常
以下是我的 API 调用。
multiget($dataCFKeys,$columns = $superColumns, $column_start = "",$column_finish = "", $column_reversed = False,$column_count = $columnCount,$super_column = null,$read_consistency_level = 1,$buffer_size = 100);
我错过了什么吗?或者是否有任何配置可以帮助我完成这项工作?
在此先感谢 Manish
php - phpcassa 连接池
我有一个数据访问类,它在实例化时设置了三个 phpcassa 连接池,如下所示:
我最近在zend的php服务器上使用了代码跟踪功能对这个类进行了一点性能审计,注意到这三个连接池的设置消耗了大约100ms。考虑到每个连接在这个类的每个实例化中只使用一次或两次,这会浪费很多时间来设置连接。
任何人都知道任何可以让我构建这些连接池并在类的实例之间共享它们的聪明技巧吗?也许有一些简单的方法可以立即用于更高级的 PHP 开发人员?
更新:是否“成功”使用 APC 缓存连接池,然后阅读有关持久连接的更多信息,发现 phpcassa 的 connection.php 文件(第 59 行 v 0.8.a.2)如下所示:
...好吧,TSocket 有第三个(可选)参数 $persist,默认为 false。但是当我将 phpcassa 中的第 59 行更改为将 $persist 设置为 true 时,我的回归测试对我来说简直就是地狱。他们失败的方式让我看起来像是在某个地方达到了一些“最大连接数”限制(大概是 cassandra 配置),所以我现在正在调查。
cassandra - 如何在 Cassandra 中排列数据以获取后进先出格式的数据
由于我们无法在 Cassandra 中对数据进行排序,我想以这样的格式存储数据,当我检索数据时,我需要以“后进先出格式”获取数据,即如果用户在我检索数据时输入评论,我应该首先得到首先是最新评论,然后是旧评论。我认为这与比较器有关。
我在配置 Cassandra 时设置了以下内容:
请帮助-我应该如何创建列以按时间格式排列数据,以便首先存储最新数据?
php - PHP中使用PHPCassa的雪花密钥算法
可能重复:
如何在 PHP 上使用 64 位整数?
是否可以使用 64 位长整数作为使用 PHPCassa 的 Cassandra 中的键?
例如,
每次插入时,我都会得到 0 作为密钥。在这个表中,key_validation_class 是 LongType。
cassandra - cassandra 读取大量键的性能
这是情况
我正在尝试从 CF 获取大约 10k 个密钥。集群大小:10 个节点节点上的数据:250 GB 分配的堆:12 GB 使用的 Snitch:属性 snitch,在同一个数据中心有 2 个机架。不。每个节点 cf 的 sstables 数:大约 8 到 10
我是超列方法。每行包含大约 300 个超列,其中包含 5-10 列。我正在使用 10k 行键和 1 个超列触发 multiget。
当第一次触发调用时,大约需要 30 到 50 秒才能返回结果。之后 cassandra 会从密钥缓存中提供数据。然后它会在 2-4 秒内返回结果。
所以 cassandra 读取性能阻碍了我们的项目。我正在使用 phpcassa。有什么办法可以调整 cassandra 服务器以便更快地获得结果?
超级列方法会影响读取性能吗?