برنامه نویسی

راه اندازی HarperDB بر روی سرور Equinix Bare Metal

فهرست مطالب

مقدمه ای بر HarperDB

HarperDB یک است پلت فرم داده لبه توزیع شده در سطح جهانی که برای مدیریت حجم عظیمی از داده ها طراحی شده است تأخیر بسیار کم. راه حل های دیگر پایگاه داده لبه نوشتن بهینه نیستند و تکثیر سراسری کند است. در حالی که HarperDB بهینه سازی شده برای خواندن و نوشتن است و تا 20K نوشتن در ثانیه در هر گره را با 110 میلی ثانیه تکرار جهانی انجام می دهد.

روش خوشه‌بندی HarperDB به سازگاری نهایی متکی است تا بسیار کارآمدتر از گزینه‌های سنتی باشد، و نمی‌توانید پایگاه داده را در سطح جهانی قفل کنید. اطلاعات بیشتر در مورد HarperDB و موارد استفاده ای که سعی در حل آن دارد را در این وبلاگ بخوانید.

HarperDB راه حل های ذکر شده در زیر را دارد و اگر سازمانی به دنبال راه حل های پایگاه داده در این زمینه هستید، می توانید از HarperDB برای نیاز خود استفاده کنید.

  • پایگاه داده توزیع شده
  • Edge Computing / Edge Caching
  • صرفه جویی در زیرساخت

راه های میزبانی HarperDB

راه‌های مختلفی برای شروع کار با HarperDB وجود دارد، اما سریع‌ترین راه برای راه‌اندازی و اجرا با HarperDB استفاده از HarperDB Cloud است.

همچنین امکان نصب HarperDB بر روی نمونه های ابری در ارائه دهندگان ابر عمومی مانند AWS، Azure، GCP و ارائه دهندگان On Premise Cloud مانند Equinix و Linode وجود دارد.

در این وبلاگ نحوه راه اندازی پایگاه داده HarperDB در سرور Equinix Cloud Bare Metal و ایجاد مراحل ایجاد یک طرح DB، جدول و درج یک رکورد را خواهیم دید.

مقدمه ای بر Equinix Bare Metal

Equinix یکی از پیشروان در ارائه فلز برهنه به عنوان یک محصول خدماتی است. برای شروع با Equinix می توانید در اینجا ثبت نام کنید.

راه اندازی حساب Equinix و تکمیل پیش نیازها

در این بخش مراحل شروع کار با Equinix را خواهیم دید.

مرحله 1: ثبت نام برای یک حساب کاربری،
مرحله 2: در طول ثبت نام، باید روش پرداخت را برای صورتحساب اضافه کنیم (برای دریافت اعتبار آزمایشی 250 دلاری، کد “deploynow” را اعمال کنید)
مرحله 3: یک سازمان و یک پروژه تحت سازمان ایجاد کنید

مرحله 5: روی نام پروژه کلیک کنید تا به صفحه پروژه بروید
مرحله 6: روی Project Settings > SSH Keys کلیک کنید

مرحله 7: یک کلید ssh در ایستگاه کاری خود ایجاد کنید که از آن با استفاده از روش SSH به “Equinix Instance” وارد می شویم. اگر در ایجاد کلید SSH برای ایستگاه کاری خود تازه کار هستید، راهنمای اینجا را دنبال کنید
مرحله 8: کلید عمومی (به طور کلی نام فایل id_rsa.pub خواهد بود) را از فایلی که با *.pib ختم می شود کپی کنید.
مرحله 9: با افزودن «افزودن کلید جدید»، مقدار کلید عمومی را در صفحه کلید SSH جای‌گذاری کنید.

کلید ssh جدید

یک سرور درخواستی در Equinix ایجاد کنید

در این بخش ما مراحل استقرار سرور درخواستی خود را برای نصب HarperDB خواهیم دید.
مرحله 1: به پروژه > Bare metal servers > On demand بروید

مرحله 1 ondemand را انتخاب کنید

مرحله 2: به تب “Classic” بروید، منطقه مترو را که می خواهید سرور HarperDB را در آن میزبانی کنید، انتخاب کنید.

مرحله 2 equinix ایجاد کنید

مرحله 3: سیستم عامل را انتخاب کنید – برای این نسخه ی نمایشی HarperDB من سیستم عامل “Ubuntu 20.04” را انتخاب کرده ام.

مرحله 3 equinix ایجاد کنید

مرحله 4: “تنظیمات اختیاری” را باز کنید و به “کلیدهای SSH” بروید تا کلید SSH را که قبلا اضافه کرده‌ایم انتخاب کنید.

مرحله 4 equinix ایجاد کنید

مرحله 5: خلاصه را تأیید کنید و روی “Deploy Now” کلیک کنید
مرحله 6: می توانیم مشاهده کنیم که نمونه سرور در حال استقرار است

مرحله 6 equinix ایجاد کنید

مرحله 7: پس از مدتی استقرار نمونه کامل خواهد شد و می‌توانیم ببینیم که نمونه در حال اجرا است

مرحله 7 equinix ایجاد کنید

مرحله 8: روی نمونه «نام میزبان» کلیک کنید تا جزئیات نمونه باز شود

مرحله 8 equinix ایجاد کنید

با استفاده از 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:~#

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

حالا وارد سرور شدیم و مراحل نصب HarperDB را در سرور Equinix می بینیم.

HarperDB را بر روی سرور Equinix نصب و اجرا کنید

پیش نیازها

من مراحل نصب موجود در اینجا را دنبال کردم و مراحل نصب لینوکس را برای نصب دنبال کردم nvm، از آنجایی که ما سیستم عامل اوبونتو را در Equinix مستقر کردیم.

از آنجایی که این فقط یک نصب آزمایشی است، من از بخش پیکربندی LVM و پیکربندی حجم داده صرفنظر کرده ام.
اکنون HarperDB به npm و NodeJS نیاز دارد. بنابراین باید آنها را با استفاده از

nvm – Node version manager که راه پیشنهادی برای نصب 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
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

نصب HarperDB با استفاده از npm

من از روش نصب آفلاین برای نصب HarperDB در Equinix استفاده کرده ام.

مرحله 1: بسته نصبی را دانلود کنید

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 کمک کند تا هنگام بوت شدن سیستم عامل شروع به کار کند.

HarperDB را در Equinix اجرا کنید

پس از نصب موفقیت آمیز دستور را اجرا کنید 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:port» از خارج به سرور دسترسی داشته باشیم http://145.40.77.227:9925

شروع به استفاده از HarperDB میزبانی شده در Equinix کنید

اکنون نحوه ایجاد یک طرح DB، ایجاد جداول و درج رکوردها در آن را خواهیم دید.

به «مثال‌های شروع سریع» در اسناد API مراجعه کنید تا روش‌های برنامه‌نویسی مختلف برای ایجاد عناصر 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 و چگونگی شروع آسان با راه اندازی HarperDB در سرور درخواستی فلزی Equinix Bare بحث کردیم.
همچنین نحوه دسترسی به پایگاه داده را بررسی کردیم و سعی کردیم یک طرحواره DB، جدول و رکورد ایجاد کنیم.
امیدواریم این مقاله برای متخصصان پایگاه داده، توسعه دهندگان و معماران داده که به دنبال آموزش نصب HarperDB بر روی سرورهای فلزی برهنه Equinix هستند، مفید باشد.

مراجع سند

شروع HarperDB
اسناد HarperDB API
شروع Equinix

کارهای من را دنبال کنید و تماس بگیرید
این سراوانان است، من یک مبشر DevOps هستم | Tech Blogger | مربی | AWS Community Builder | سفیر Hashicorp | سازنده محتوا

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

همچنین ببینید
بستن
دکمه بازگشت به بالا