目录
- Introduction to HarperDB
- Ways to Host HarperDB
- Introduction to Equinix Bare Metal
- Equinix Account Setup and Completing Prerequisites
- Create an On Demand Server in Equinix
- Login into the Server using SSH
- Install and Run HarperDB on Equinix Server
- Run HarperDB in Equinix
- Access the HarperDB using Equinix IP
- Start using HarperDB hosted in Equinix
- Conclusion
- Document References
Harperdb简介
harperdb是全球分布的边缘数据平台,旨在处理具有 超低潜伏期的大量数据。其他边缘数据库解决方案未进行优化,全局复制速度很慢。而HarperdB的读写优化,每节点每秒写入20k以上的写入,全局复制为110毫秒。
Harperdb的聚类方法依赖于最终的一致性比传统选择更有效,并且您可以在全球范围内锁定数据库。阅读有关Harperdb及其在此blog中试图解决的用例的更多信息。
harperdb具有以下列出的解决方案,如果您是一个正在寻找该领域数据库解决方案的组织,则可以利用Harperdb来满足您的需要,
- 分布式数据库
- Edge Computing / Edge Caching
- 基础设施储蓄
托管HarperdB的方法
HarperdB有多种可用方法,但是使用HarperdB启动和运行的最快方法是Harperdb Cloud。
也可以在诸如AWS,Azure,GCP和前提云提供商等公共云提供商的云实例上安装HarperDB。
。在此博客中,我们将看到如何在Equinix Cloud Bare Metal Server中设置Harperdb数据库,并创建步骤以创建DB模式,表格和插入记录。
Equinix Bare Metal的简介
Equinix是提供按需裸金属作为服务产品的领导者之一。您可以sign-up here开始使用Equinix。
Equinix帐户设置并完成先决条件
在本节中,我们将看到以Equinix开始的步骤。
步骤1:注册帐户,
步骤2:在注册期间,我们需要添加用于帐单的付款方式(适用deploynow守则以获取250美元的审判信用额)
步骤3:在组织下创建一个组织和一个项目
步骤5:单击项目的名称以转到项目页面
步骤6:单击项目设置> SSH键
步骤7:在您的工作站中创建一个SSH键,我们将使用SSH方法从中登录到Equinix实例。如果您是新手为工作站创建SSH键,请关注guide here
步骤8:复制以 *.pib
结尾的文件(通常为文件名是id_rsa.pub)
步骤9:通过添加新的添加新键来粘贴SSH密钥页面中的公共密钥值。
在Equinix中创建On Dempor服务器
在本节中,我们将看到部署按需服务器安装Harperdb的步骤。
步骤1:转到项目>裸金属服务器>按需
步骤2:转到“经典”选项卡,选择要托管HarperdB服务器的地铁区域。
步骤3:选择操作系统 - 对于此harperdb演示,我选择了obuntu 20.04
步骤4:扩展可选设置,然后转到SSH键选择SSH键,我们添加了
步骤5:验证摘要并单击现在部署
步骤6:我们可以观察服务器实例正在部署
步骤7:一段时间后,实例部署将完成,我们可以看到实例已启动并运行
步骤8:单击实例âhostnameâ以打开实例详细信息
使用SSH登录服务器
使用公共IPv4地址,我们可以使用SSH方法进入服务器
在创建实例时,请使用我们在SSH键中添加的公共密钥的私钥对。它将位于路径~/.ssh
$ ssh -i ~/.ssh/equinix_key root@145.40.77.227
The authenticity of host '145.40.77.227 (145.40.77.227)' can't be established.
ED25519 key fingerprint is SHA256:A8G3NWfuX9wEvSbiTtReGwSqouiUirqvXbfBjB/StmM.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '145.40.77.227' (ED25519) to the list of known hosts.
Welcome to Ubuntu 18.04.6 LTS (GNU/Linux 5.4.0-137-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information as of Thu Apr 6 05:42:41 UTC 2023
System load: 0.25 Processes: 261
Usage of /: 0.5% of 438.04GB Users logged in: 0
Memory usage: 1% IP address for bond0: 145.40.77.227
Swap usage: 0%
0 updates can be applied immediately.
Your Hardware Enablement Stack (HWE) is supported until April 2023.
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
root@c3-small-x86-01:~#
现在,我们登录了服务器,让我们查看在Equinix服务器中安装HarperDB的步骤。
在Equinix服务器上安装并运行HarperdB
先决条件
我遵循可用的安装步骤here,并遵循Linux安装步骤以安装nvm
,因为我们在Equinix中部署了Ubuntu OS。
由于它只是一个演示安装,因此我跳过了LVM配置并配置数据卷部分。
现在,HarperdB需要NPM和NODEJS。因此,我们需要使用
安装它们
nvm
-节点版本管理器,这是安装nodejs和npm
我使用以下命令来安装nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
运行上述命令后,要么您可以退出并重新使用Equinix服务器,因此更改将生效。
exit
然后安装nvm
版本17,这对我来说很好。
nvm install 17
使用NPM安装HarperdB
我使用离线安装方法在Equinix中安装HarperdB。
步骤1:Download installation package
wget https://products-harperdb-io.s3.us-east-2.amazonaws.com/harperdb-4.0.5.tgz
步骤2:使用NPM安装
sudo npm install -g harperdb-4.0.5.tgz harperdb install
文档中有一些可选步骤,可以帮助Harperdb在操作系统靴时开始。
在Equinix中运行HarperdB
成功安装执行命令harperdb run
以启动数据库
按照提示开始数据库
$ harperdb run
This version of HarperDB is tested against Node.js version 18.13.0, the currently installed Node.js version is: 17.9.1. Some issues may occur with untested versions of Node.js.
Starting HarperDB...
HarperDB not found, starting install process.
Starting HarperDB install...
Terms & Conditions can be found at https://harperdb.io/legal/end-user-license-agreement
and can be viewed by typing or copying and pasting the URL into your web browser.
I Agree to the HarperDB Terms and Conditions. (yes/no) yes
Please enter a destination for HarperDB: /root/hdb
Please enter a server listening port for HarperDB: 9925
Please enter a username for the HDB_ADMIN: HDB_ADMIN
Please enter a password for the HDB_ADMIN: [hidden]
HarperDB installation was successful.
▒▒▒▓▓▓▓▓▓▓▓▓▓▓▒▒
▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒
▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▒▒
▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▒
▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▒
▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▒▒
▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒
▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒
▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒
▒▒▒▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒
▒▒▒▒▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒
▒▒▒▓▓▒▒▒▒▒▒▒▒▒▒▒
▒▒▒▒▒▒▒
HarperDB, Inc. Denver, CO.
|------------- HarperDB 4.0.5 successfully started ------------|
运行harperdb的替代方法
还有一个单行命令可以运行harperdb,该命令的所有数据库调用参数作为CLI选项
harperdb install --TC_AGREEMENT "yes" --ROOTPATH "/home/ubuntu/hdb" --OPERATIONSAPI_NETWORK_PORT "9925" --HDB_ADMIN_USERNAME "HDB_ADMIN" --HDB_ADMIN_PASSWORD "abc123!"
使用Equinix IP访问HarperdB
harperdb在服务器中运行,因此可以通过Localhost访问:port http://localhost:9925
我们也可以使用equinix-public-ip:at as http://145.40.77.227:9925
开始使用Equinix中托管的harperdb
我们现在将看到如何创建DB模式,创建表并插入其中的记录。
请参阅API docs中的快速启动示例,以探索用于创建harperdb元素(例如架构,表格等)的各种编程方法。
我将使用curl
方法与harperdb
创建模式
root@c3-small-x86-01:~ curl --location --request POST -u HDB_ADMIN:admin123 'http://localhost:9925' --header 'Content-Type: application/json' --data-raw '{
"operation": "create_schema",
"schema": "dev"
}'
{"message":"schema 'dev' successfully created"}
创建表
root@c3-small-x86-01:~ curl --location --request POST -u HDB_ADMIN:admin123 'http://localhost:9925' --header 'Content-Type: application/json' --data-raw '{
"operation": "create_table",
"schema": "dev",
"table": "dog",
"hash_attribute": "id"
}'
{"message":"table 'dev.dog' successfully created."}
插入记录
root@c3-small-x86-01:~ curl --location --request POST -u HDB_ADMIN:admin123 'http://localhost:9925' --header 'Content-Type: application/json' --data-raw '{
"operation": "insert",
"schema": "dev",
"table": "dog",
"records": [
{
"id": 1,
"dog_name": "Penny",
"owner_name": "Kyle",
"breed_id": 154,
"age": 7,
"weight_lbs": 38
}
]
}'
{"message":"inserted 1 of 1 records","inserted_hashes":[1],"skipped_hashes":[]}
结论
在本文中,我们讨论了Harperdb数据平台的简介,以及如何轻松开始使用Equinix Bare Metal On-Demand服务器中的HarperdB设置。
另外,我们已经介绍了如何访问数据库并尝试创建DB模式,表和记录。
希望本文对于数据库专业人员,开发人员和数据架构师应该有用
文档参考
harperdb Getting Started
Harperdb API documentation
Equinix Getting Started
跟随我的工作并取得联系,
这是萨拉瓦南(Saravanan),我是一个开发传教士|技术博客作者|导师| AWS社区建设者| Hashicorp大使|内容创建者