مقدمه
بسیاری از برنامه ها ، مانند سیستم های مانیتورینگ و سیستم های جمع آوری داده ها ، اطلاعات را برای تجزیه و تحلیل بیشتر جمع می کنند. این تجزیه و تحلیلها اغلب به نحوه تغییر یک بخش از داده یا یک سیستم در گذشت زمان نگاه می کنند. در این موارد ، داده ها به عنوان یک سری زمان نمایش داده می شوند ، و هر نقطه داده همراه با یک timestamp همراه است. نمونه ای از آن ها به این صورت است:
2019-11-01 09:00:00 server.cpu.1 0.9
2019-11-01 09:00:00 server.cpu.15 0.8
2019-11-01 09:01:00 server.cpu.1 0.9
2019-11-01 09:01:00 server.cpu.15 0.8

اخیراً ارتباط داده های مجموعه زمانی به لطف استقرار جدید اینترنت اشیاء (IoT) و اینترنت صنعتی اشیاء افزایش یافته است. تعداد بیشتر و بیشتری دستگاه وجود دارد که اطلاعات مجموعه های مختلفی را جمع آوری می کنند: از جمله ردیاب های بدنسازی ، ساعت های هوشمند ، ایستگاه های خانگی آب و هوا و سنسورهای مختلف. این دستگاه ها اطلاعات زیادی را جمع می کنند و تمام این داده ها باید در جایی ذخیره شوند.
بانک اطلاعاتی کلاسیک رابطه ای اغلب برای ذخیره داده ها استفاده می شود ، اما وقتی صحبت از حجم عظیم داده های سری زمانی است ، همیشه مناسب نیستند. هنگامی که نیاز به پردازش مقدار زیادی از داده های مجموعه زمانی دارید ، دیتابیس رابطه ای می تواند خیلی کند باشد. به همین دلیل ، بانکهای اطلاعاتی بهینه سازی شده ای به نام پایگاه داده های NoSQL ایجاد شده اند تا از مشکلات پایگاه های داده رابطه ای جلوگیری شود.
TimescaleDB یک پایگاه داده منبع باز است که برای ذخیره داده های سری زمانی بهینه شده است. این برنامه به عنوان پسوند PostgreSQL پیاده سازی شده است و سهولت استفاده از پایگاه های داده رابطه ای و سرعت پایگاه داده های NoSQL را ترکیب می کند. در نتیجه ، به شما امکان می دهد تا از PostgreSQL برای ذخیره داده های تجاری و سری های زمانی به صورت همزمان استفاده کنید.
با دنبال کردن این آموزش ، TimescaleDB را روی CentOS 7 تنظیم کرده ، آن را پیکربندی کرده و یاد می گیرید که چگونه با آن کار کنید. شما با ایجاد پایگاه داده های سری زمانی و ایجاد درخواست های ساده ان اجرا خواهید کرد. در آخر ، خواهید دید که چگونه داده های غیر ضروری را حذف کنید.
پیش نیازها
برای دنبال کردن این آموزش ، به موارد زیر نیاز دارید:
یک سرور مجازی CentOS 7 که با دنبال کردن راهنمای اولیه راه اندازی سرور مجازی با CentOS 7 نصب شده باشد، و شامل یک کاربر غیر ریشه با امتیازات sudo و فایروال تنظیم شده با firewalld باشد. برای راه اندازی firewalld ، قسمت “پیکربندی یک فایروال ساده” در آموزش مراحل اضافی توصیه شده برای سرور مجازی های جدید CentOS 7 را دنبال کنید.
PostgreSQL که بر روی سرور مجازی شما نصب شده باشد. برای نصب و پیکربندی آن ، راهنمای نصب و استفاده از PostgreSQL در CentOS 7 را دنبال کنید.
مرحله 1 – نصب TimescaleDB
TimescaleDB در منابع پکیجی پیش فرض CentOS در دسترس نیست ، بنابراین در این مرحله شما آن را از منبع شخص ثالث TimescaleDB نصب خواهید کرد.
ابتدا یک فایل منبع جدید ایجاد کنید:
$ sudo vi /etc/yum.repos.d/timescaledb.repo

با زدن i وارد حالت insert شده و پیکربندی زیر را در فایل پیست کنید:
/etc/yum.repos.d/timescaledb.repo
[timescale_timescaledb]
name=timescale_timescaledb
baseurl=https://packagecloud.io/timescale/timescaledb/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/timescale/timescaledb/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

پس از اتمام ، ESC را فشار دهید تا از حالت insert خارج شوید ، سپس: wq و ENTER را برای ذخیره و خروج از فایل بزنید. برای کسب اطلاعات بیشتر در مورد ویرایشگر متن vi و vim جانشین آن ، از نصب و استفاده از ویرایشگر متن Vim در آموزش Cloud Server استفاده کنید.
اکنون می توانید مراحل نصب را ادامه دهید. در این آموزش از PostgreSQL نسخه 11 استفاده شده است. اگر از نسخه دیگری از PostgreSQL استفاده می کنید (به عنوان مثال 9.6 یا 11) ، مقدار مورد نظر را در دستور زیر جایگزین کرده و آن را اجرا کنید:
$ sudo yum install -y timescaledb-postgresql-11

TimescaleDB اکنون نصب شده و آماده استفاده است. در مرحله بعد ، آن را روشن کرده و برخی از تنظیمات مرتبط با آن را در فایل پیکربندی PostgreSQL برای بهینه سازی بانک اطلاعات تنظیم خواهید کرد.
مرحله 2 – پیکربندی TimescaleDB
ماژول TimescaleDB با تنظیمات پیش فرض پیکربندی PostgreSQL خوب کار می کند ، اما برای بهبود عملکرد و استفاده بهتر از منابع پردازنده ، حافظه و منابع دیسک ، توسعه دهندگان TimescaleDB پیکربندی برخی پارامترهای فردی را پیشنهاد می کنند. این کار می تواند به صورت خودکار با ابزار timescaledb-tune یا با ویرایش دستی فایل postgresql.conf سرور مجازی شما انجام شود.
در این آموزش از ابزار timescaledb-tune استفاده خواهید کرد. این ابزار فایل postgresql.conf را می خواند و به صورت تعاملی پیشنهاد ایجاد تغییر می دهد.
برای شروع wizard پیکربندی دستور زیر را اجرا کنید:
$ sudo timescaledb-tune –pg-config=/usr/pgsql-11/bin/pg_config
ابتدا از شما خواسته می شود مسیر فایل پیکربندی PostgreSQL را تأیید کنید:
Output
Using postgresql.conf at this path:
/var/lib/pgsql/11/data/postgresql.conf

Is this correct? [(y)es/(n)o]:

ابزار به طور خودکار مسیر فایل پیکربندی را تشخیص می دهد ، بنابراین با وارد کردن y این کار را تأیید کنید:
Output

Is this correct? [(y)es/(n)o]: y
Writing backup to:
/tmp/timescaledb_tune.backup201912191633

سپس ، ماژول TimescaleDB را با تایپ y در اعلان بعدی و فشار دادن ENTER فعال کنید:
Output
shared_preload_libraries needs to be updated
Current:
#shared_preload_libraries = ”
Recommended:
shared_preload_libraries = ‘timescaledb’
Is this okay? [(y)es/(n)o]: y
success: shared_preload_libraries will be updated

بر اساس ویژگی های سرور مجازی خود و نسخه PostgreSQL ، به شما پیشنهاد می شود تنظیمات خود را تنظیم کنید. برای شروع فرآیند تنظیم ، y را فشار دهید:
Output
Tune memory/parallelism/WAL and other settings? [(y)es/(n)o]: y
Recommendations based on 7.64 GB of available memory and 4 CPUs for PostgreSQL 11

Memory settings recommendations
Current:
shared_buffers = 128MB
#effective_cache_size = 4GB
#maintenance_work_mem = 64MB
#work_mem = 4MB
Recommended:
shared_buffers = 1955MB
effective_cache_size = 5865MB
maintenance_work_mem = 1001121kB
work_mem = 5005kB
Is this okay? [(y)es/(s)kip/(q)uit]:

timescaledb-tune به طور خودکار حافظه موجود سرور مجازی را تشخیص داده و مقادیر توصیه شده را برای تنظیمات shared_buffers ، effective_cache_size ، maintenance_work_mem و work_mem محاسبه می کند. اگر می خواهید در مورد چگونگی انجام این کار اطلاعات بیشتری کسب کنید ، صفحه GitHub را برای دیدن timescaledb-tune. چک کنید.
اگر این تنظیمات خوب به نظر می رسد ، y را وارد کنید:
Output

Is this okay? [(y)es/(s)kip/(q)uit]: y
success: memory settings will be updated

در این مرحله ، اگر سرور مجازی شما دارای چندین CPU باشد ، توصیه های مربوط به تنظیمات موازی را پیدا خواهید کرد. در حالی که اگر یک CPU داشته باشید ، timescaledb-tune. با استفاده از جدول زمانی شما را مستقیماً به تنظیمات WAL می فرستد.
سرور مجازی هایی که دارای چندین CPU هستند ، با توصیه هایی مانند این روبرو می شوند:
Output
Parallelism settings recommendations
Current:
missing: timescaledb.max_background_workers
#max_worker_processes = 8
#max_parallel_workers_per_gather = 2
#max_parallel_workers = 8
Recommended:
timescaledb.max_background_workers = 8
max_worker_processes = 15
max_parallel_workers_per_gather = 2
max_parallel_workers = 4
Is this okay? [(y)es/(s)kip/(q)uit]:

این تنظیمات تعداد کارگرانی که درخواست ها و کارهای پس زمینه را پردازش می کنند را تنظیم می کند. می توانید اطلاعات بیشتری در مورد این تنظیمات را از مطالب TimescaleDB و PostgreSQL کسب کنید.
y را وارد کنید و برای پذیرش این تنظیمات enter بزنید:
Output

Is this okay? [(y)es/(s)kip/(q)uit]: y
success: parallelism settings will be updated

در مرحله بعد ، توصیه هایی برای Write Ahead Log (WAL) پیدا خواهید کرد:
Output
WAL settings recommendations
Current:
#wal_buffers = -1
#min_wal_size = 80MB
#max_wal_size = 1GB
Recommended:
wal_buffers = 16MB
min_wal_size = 4GB
max_wal_size = 8GB
Is this okay? [(y)es/(s)kip/(q)uit]:

WAL یکپارچگی داده ها را حفظ می کند ، اما تنظیمات پیش فرض می تواند باعث عدم کارآیی I / O شود که عملکرد نوشتن را کند می کند. برای بهینه سازی این تنظیمات y را تایپ و وارد کنید:
Output

Is this okay? [(y)es/(s)kip/(q)uit]: y
success: WAL settings will be updated
اکنون چند توصیه متفرقه خواهید دید:
Output
Miscellaneous settings recommendations
Current:
#default_statistics_target = 100
#random_page_cost = 4.0
#checkpoint_completion_target = 0.5
#max_locks_per_transaction = 64
#autovacuum_max_workers = 3
#autovacuum_naptime = 1min
#effective_io_concurrency = 1
Recommended:
default_statistics_target = 500
random_page_cost = 1.1
checkpoint_completion_target = 0.9
max_locks_per_transaction = 64
autovacuum_max_workers = 10
autovacuum_naptime = 10
effective_io_concurrency = 200
Is this okay? [(y)es/(s)kip/(q)uit]:

تمام این پارامترهای مختلف با هدف افزایش کارایی انجام می شود. به عنوان مثال ، SSD ها می توانند بسیاری از درخواست های همزمان را پردازش کنند ، بنابراین بهترین مقدار برای eff_io_concurrency ممکن است در بین صدها مورد باشد. می توانید اطلاعات بیشتری در مورد این گزینه ها را در مستندات PostgreSQL بیابید.
برای ادامه ، y را وارد کنید و enter بزنید.
Output

Is this okay? [(y)es/(s)kip/(q)uit]: y
success: miscellaneous settings will be updated
Saving changes to: /var/lib/pgsql/11/data/postgresql.conf

 

برای حذف خودکار داده های قدیمی ، می توانید یک کار cron را پیکربندی کنید. برای کسب اطلاعات بیشتر در مورد نحوه استفاده از cron برای اتوماسیون کارهای مختلف سیستم ، به آموزش ما مراجعه کنید.
از پایگاه داده خارج شوید:
Timeseries=# /q
بعد ، crontab خود را با دستور زیر ویرایش کنید ، که باید از پوسته اجرا شود:
$ crontab -e
اکنون خط زیر را به انتهای فایل اضافه کنید:
crontab

0 1 * * * /usr/bin/psql -h localhost -p 5432 -U postgres -d postgres -c “SELECT drop_chunks(inte

این کار داده های منسوخ را که قدیمی تر از یک روز هستند را ساعت 1 صبح هر روز حذف می کند.
نتیجه
اکنون TimescaleDB را روی سرور مجازی CentOS خود تنظیم کرده اید. همچنین ایجاد Hypertables ، قرار دادن داده ها در آن ، جستجوی داده ها ، فشرده سازی و حذف سوابق غیر ضروری را امتحان کردید. با استفاده از این مثالها ، می توانید از مزایای کلیدی TimescaleDB نسبت به سیستم های معمول مدیریت پایگاه داده رابطه ای برای ذخیره داده های سری زمانی استفاده کنید ، از جمله:
• نرخ پذیرش بیشتر داده ها
• عملکرد سریعتر درخواست ها
• ویژگی های زمان گرا

 

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

نحوه نصب Nginx در CentOS 8  –  استفاده از Cron برای خودکارسازی کارها در اوبونتو 18

پکیج کردن و انتشار برنامه Snap در اوبونتو 18 – نصب و استفاده ازRadamsa برای فوز کردن برنامه ها روی Ubuntu 18

استقرارهای تولید Node.js خود را با Shipit در CentOS 7 –  نحوه راه اندازی Eclipse Theia Cloud IDE Platform در Debian 10

چگونگی استفاده از migrations و seeders دیتابیس  –  نحوه نصب Docker Compose در Debian 10

نحوه نصب R روی اوبونتو 18.04 – چگونه می توان با کتابخانه (library) درخواست ها در پایتون شروع به کار کرد

چگونه می توان هاست های مجازی Apache را در اوبونتو 18.04  –  نحوه اجرای صفحه گذاری در MySQL با PHP روی اوبونتو 18.04

نصب پشته Nginx، MySQL، PHP LEMP در CentOS 8 – نحوه تنظیم پلتفرم Eclipse Theia Cloud IDE در CentOS 7

نحوه نصب پشته یا استک Nginx ، MySQL ، PHP LEMP  –  بسته بندی برنامه Laravel 6 برای توسعه با Docker Compose

مراحل ایمن سازی Apache HTTP در FreeBSD 12  – بهینه سازی درخواست های MySQL با ذخیره سازی ProxySQL در اوبونتو 16

درک Objectهای Map و Set در JavaScript  –  استفاده از Ansible برای نصب و راه اندازی وردپرس با LAMP در اوبونتو 18

نحوه راه اندازی Eclipse Theia Cloud IDE در اوبونتو  –  چگونه می توان پلتفرم کد سرور Cloud IDE را در اوبونتو 18.04

نحوه استفاده از Cron برای خودکارسازی کارها در CentOS 8   –  چگونه می توان از رول های ansible برای انتزاع محیط زیرساختی

نحوه نوشتن کد ناهمگام (غیر همزمان) در Node.js –  نحوه پیکربندی یک خوشه Galera با MySQL در سرورهای اوبونتو 18

راه اندازی اولیه سرور با CentOS 8 –   تهیه نسخه پشتیبان و بازیابی یک خوشه Kubernetes

نحوه تنظیم کلیدهای SSH در CentOS 8 –  نحوه نصب و استفاده از PostgreSQL در CentOS 7

نحوه ساختن یک برنامه Node.js با Docker  Quickstart  –  چگونه می توان پلتفرم Eclipse Theia Cloud IDE را روی اوبونتو

چگونه می توان هاست های مجازی Apache را در اوبونتو  –  مدیریت DNS با استفاده از DNSControl در Debian 10

نحوه تایید صحت رمز عبور با Apache در اوبونتو 18.04 –  چگونه می توان پلتفرم Cloud IDE کد سرور را روی CentOS 7

نحوه نصب و استفاده از TimescaleDB در CentOS 7 – نحوه نصب Apache Kafka در Debian 10

نحوه تایید صحت رمز عبور با Apache در اوبونتو 18.04  –  نحوه نصب وردپرس با OpenLiteSpeed ​​در اوبونتو 18.04

 

 

کلمات کلیدی خرید سرور

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکا – خرید سرور مجازی ارزان هلند – vps – خرید vps هلند – خرید سرور مجازی آمریکا – خرید vps فرانسه – تست vps – سرور مجازی تست – سرور مجازی ویندوز – ارزانترین vps – خرید وی پی اس – vps ارزان –