准备试用rethinkdb_rebirth之前,先别急着安装;这个项目提供的是面向实时网络应用的开源数据库项目,提供变更流与分布式查询能力。在数据与知识处理场景里,常见问题是数据结构、更新策略和可追溯性会决定结果是否可信,这正是评估时需要盯住的地方。短测时我会用一份规模可控且答案已知的数据集试跑,并保留模式兼容、增量更新、查询结果和来源追踪的结果,方便团队复盘。编辑判断上,需要保留数据来路与变更记录的使用者可以优先研究它;其他团队不必为了热门标签勉强接入。
RethinkDB
RethinkDB是什么?
RethinkDB 是一个专为实时应用程序构建的开源可扩展数据库。它公开了一种新的数据库访问模型——而不是 轮询更改,开发人员可以告诉数据库不断将更新的查询结果推送到应用程序 实时。 RethinkDB 允许开发人员在短时间内轻松构建可扩展的实时应用程序。
快速启动
1.安装服务器
要在您的计算机上安装 RethinkDB(当前仅支持 amd64 / x86_64 架构),请运行以下命令:
Ubuntu Trusty 、 Xenial 、 Bionic 和 Debian Jessie 、 Stretch 版本
$ source /etc/lsb-release && echo "deb https://dl.bintray.com/rethinkdb/apt $DISTRIB_CODENAME main" | sudo tee /etc/apt/sources.list.d/rethinkdb.list
$ wget -qO- https://dl.bintray.com/rethinkdb/keys/pubkey.gpg | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install rethinkdb
森托斯7
sudo wget https://dl.bintray.com/rethinkdb/rpm/centos/7/x86_64/rethinkdb.repo
-O /etc/yum.repos.d/rethinkdb.repo
sudo yum install rethinkdb
2.启动服务器
从终端运行以下命令:
$ rethinkdb
...
Listening for intracluster connections on port 29015
Listening for client driver connections on port 28015
Listening for administrative HTTP connections on port 8080
Listening on cluster addresses: 127.0.0.1, ::1
Listening on driver addresses: 127.0.0.1, ::1
Listening on http addresses: 127.0.0.1, ::1
...
Server ready ...
将浏览器指向 localhost:8080。您将看到一个管理 UI,您可以在其中控制集群 (到目前为止由一台服务器组成),并使用查询语言。
3. 运行一些查询
单击浏览器中的“数据资源管理器”选项卡。您可以直接从浏览器使用 JavaScript 操作数据。
默认情况下,RethinkDB 创建名为 test 的数据库。让我们创建一个表:
r.db('test').tableCreate('tv_shows')
使用“运行”按钮或 Shift+Enter 运行查询。现在,让我们向表中插入一些 JSON 文档:
r.table('tv_shows').insert([{ name: 'Star Trek TNG', episodes: 178 },
{ name: 'Battlestar Galactica', episodes: 75 }])
我们刚刚在 tv_shows 表中插入了两行。让我们验证插入的行数:
r.table('tv_shows').count()
最后,让我们做一个稍微复杂的查询。让我们查找所有超过 100 集的节目。
r.table('tv_shows').filter(r.row('episodes').gt(100))
结果,我们当然得到了现有最好的科幻节目。
后续步骤
祝贺你的进步!现在请查看下面任何驱动程序的文档以进行更深入的了解。
更详细和更新的文档即将推出!
建筑
首先安装一些依赖项。 例如,在 Ubuntu 或 Debian 上:
sudo apt-get install build-essential protobuf-compiler python
libprotobuf-dev libcurl4-openssl-dev libboost-all-dev
libncurses5-dev libjemalloc-dev libssl-dev wget m4 g++
一般来说,您将需要
然后,构建:
./configure --allow-fetch
# or run ./configure --allow-fetch CXX=clang++
make -j4
# or run make -j4 DEBUG=1
sudo make install
# or run ./build/debug_clang/rethinkdb
需要帮助吗?
请在 Spectrum 和 Twitter 上找到我们。您还可以 报告问题。
捐助者
数据压缩的开发和RethinkDB的新艺术由AIDAX: 赞助
我们的测试基础设施由 DigitalOcean: 赞助