转载自:关于如何构建一个微博型广播 二, CodeCampo
前篇文章构思了一个用户广播的实现,并且给出了伪代码。现在 codecampo 已经实现了一个基于 Mongodb + redis 的状态广播,所以可以补充一下前篇没有描述清楚的地方。
0 Timeline 用查询还是缓存?
上篇说到由于广播规则的复杂性,timeline 最好使用一个队列,新增 status 使用投递方式而不依赖数据库查询。
具体看例子,campo 当前的 status 数据会是这样的:
> d[......]
转载自:关于如何构建一个微博型广播 二, CodeCampo
前篇文章构思了一个用户广播的实现,并且给出了伪代码。现在 codecampo 已经实现了一个基于 Mongodb + redis 的状态广播,所以可以补充一下前篇没有描述清楚的地方。
0 Timeline 用查询还是缓存?
上篇说到由于广播规则的复杂性,timeline 最好使用一个队列,新增 status 使用投递方式而不依赖数据库查询。
具体看例子,campo 当前的 status 数据会是这样的:
> d[......]
本文转载自:关于如何构建一个微博型广播, CodeCampo
我的上一个网站(已下线)包含一个类似豆瓣广播的功能,当时我搜索了不少资料,发现网上对好友状态广播的完整描述并不多。现在想把看过的一些资料总结起来,看看一个好友状态广播会大概包括一些什么内容。
我看过的资料包括但不限于:
Oracle数据库是商业软件,封闭的东西,折腾是难免的。
即使有Python接口,也是依赖Oracle原生类库的。
目前比较流行的Python访问Oracle的接口是:cx Oracle
1、安装instantclient
地址参考之前的一篇文章:《Linux下配置OCI(Oracle调用接口)》
以我的10g为例子,需要下面两个文件:
sdk-10.2.0.5.0-linux-x64.zip 需要这之中的include头文件
basiclite-10[......]
create keyspace yqjc_bbs;
use yqjc_bbs;
create column family title with comparator = AsciiType and keys_cached=1.0 and rows_cached = 1000000;[......]
2011.9.25更新
本文被转载到NoSQLFun进行讨论
我才发现原文的一些问题没有表述清楚:
1、本文主要是针对随机读,而非随机写,关于如何构造一个写快的NoSQL系统,见BigTable论文,或者Cassandra、HBase。
2、我实际遇到的都是随机读很慢的情况,热数据可以解决部分问题,但是当规模远大于你的机器规模的时候,还是无法逾越的问题,此时NoSQL相对于RDBMS的优势就小的可怜了。
欢迎继续进行探讨。
原文:
抱歉我用了这么一个标题[......]