最近,我已经与Franck Pachot讨论了有关数据库的问题。他告诉我有关yugabytedb的信息以及分布式SQL的优势。
本文将展示如何在本地部署yugabyte数据库。然后将Rails应用程序连接到它。
让我们看看这有多顺利!
让我们本地部署
文档已很好地解释了本地部署您的yugabyte数据库。
我创建了一个docker-compose.yml,以避免一遍又一遍地重新命令。
services:
yuga:
image: "yugabytedb/yugabyte:2.17.3.0-b152"
ports:
- "7001:7000"
- "9042:9042"
- "5433:5433"
- "9000:9000"
command: "bin/yugabyted start --daemon=false"
你去。现在您可以尝试连接到数据库:
在文档中,他们说您可以使用此命令连接到yugabytedb:
通过运行
docker exec -it yugabyte-yuga-1 /home/yugabyte/bin/ysqlsh --echo-queries
,但事实证明我得到了这个错误:
ysqlsh: could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5433?
could not connect to server: Cannot assign requested address
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5433?
研究了解决方案后,我从弗兰克·帕科特(Frank Pachot)找到了this solution。
docker exec -it yugabyte-yuga-1 bash -c 'ysqlsh --echo-queries
-h $(hostname) -p 5433'
让我们与Rails应用程序联系
要测试此Yugabyte数据库,我想创建一个Rails应用程序。
rails new yugapp -d postgres
yugabyte是一个兼容的兼容数据库。将适配器用于Postgres与我们的Rails应用程序应该有效。这就是为什么我放置-d postgres
选项。
现在我们需要对数据库进行一些调整。
确实,正如我们在上面看到的,与Postgres不同,Yugabyte不接受5432
港口的连接,而是在5433
上接受连接。
我已经设法通过配置在本地连接到数据库:
default: &default
adapter: postgresql
encoding: unicode
host: localhost -
port: 5432 |__________ added by myself
username: "postgres" |
password: "" -
运行数据库耙任务以创建,迁移和播种您的数据库。
rails db:create db:migrate db:seed
评论
与postgres相比,横rake任务的耙子任务要慢。
但这是正常的。实际上,分布式发动机需要确保一切都同步。因此,写作操作必然会较慢。
就是这样。现在您可以运行服务器,并且可以很好地工作。
结论
部署Yugabyte数据库的轨道应用程序很简单。
肯定会有更多的Yugabyte。这是一项非常酷的技术,分布式SQL是一个热情的主题。
我希望很快能写有关木筏算法的文章!