HPDS Benchmarking DB Benchmarking
محکزنی پایگاه داده (Database Benchmarking) نقشی حیاتی در زیرساختهای فناوری اطلاعات مدرن ایفا میکند و به سازمانها اجازه میدهد تا از عملکرد، مقیاسپذیری و قابلیت اطمینان سیستمهای خود اطمینان حاصل کنند.
فصل1 محک پایگاه داده
محکزنی پایگاه داده (Database Benchmarking) نقشی حیاتی در زیرساختهای فناوری اطلاعات مدرن ایفا میکند و به سازمانها اجازه میدهد تا از عملکرد، مقیاسپذیری و قابلیت اطمینان سیستمهای خود اطمینان حاصل کنند. در میان ابزارهای متعدد موجود، دو ابزار با اهداف کاملاً متفاوت خودنمایی میکنند. از یک سو، HammerDB به عنوان یک ابزار محکزنی تراکنشیِ عمومی شناخته میشود که برای ارزیابی طیف گستردهای از پایگاههای داده طراحی شده است. از سوی دیگر، محک MarkLogic ابزاری تخصصی است که منحصراً برای ارزیابی عملکرد در اکوسیستم پایگاه داده MarkLogic توسعه یافته است.
فصل2 تحلیل ابزار HammerDB
HammerDB به عنوان یک ابزار استراتژیک و در دسترس، به متخصصان اجازه میدهد تا بارهای کاری تراکنشی استاندارد صنعتی را شبیهسازی و عملکرد سیستمهای پایگاه داده مختلف را ارزیابی کنند. اهمیت این ابزار در این است که بدون هزینه و پیچیدگیهای گواهینامههای رسمی TPC، یک راهکار سریع و قابل اعتماد برای سنجش کارایی ارائه میدهد. HammerDB برای ارزیابی کارایی سیستمها از طریق اجرای بارهای کاری تراکنشی طراحی شده است. ویژگی کلیدی این ابزار، ارائه نتایج عملکردی یکسان و باثبات در یک پیکربندی سیستمی بدون تغییر است. این بدان معناست که اگر آزمونهای مکرر نتایج متفاوتی را نشان دهند، این ناهماهنگی به احتمال زیاد به وجود اشکال در سیستمعامل، سختافزار یا خود پایگاه داده اشاره دارد و نه در ابزار محکزنی.
شکل 1: نمایی از ابزار HammerDB
.png)
بارهای کاری این ابزار کاملاً مبتنی بر استانداردهای TPC، به ویژه TPC-C، هستند. با این حال، تحلیل دقیق نشان میدهد که بار کاری TPC-C در HammerDB به صورت جزء به جزء با مشخصات رسمی TPC یکسان نیست و به همین دلیل، نتایج آن مستقیماً با نتایج رسمی TPC قابل مقایسه نیست. مزیت اصلی این رویکرد، ارائه یک جایگزین سهل، بدون هزینه و با راهاندازی سریع برای محکهای پیچیده و پرهزینه رسمی TPC است که در عین حال اجراهایی با کارایی و قابلیت اطمینان بالا را فراهم میکند. HammerDB از طیف وسیعی از پایگاههای داده محبوب پشتیبانی میکند که شامل موارد زیر است:
شکل 2: پایگاههای داده قابل پشتیبانی از HammerDB
.jpg)
بر اساس Release Notes رسمی، آخرین نسخه آن نسخه 5.0.0 هست و مهمترین تغییرات این نسخه نسبت به نسخه ۴.۱۲ شامل موارد زیر است:
بهبود عملکرد در SQL Server
جایگزینی ابزار BCP با Bulk Insert
فرآیند بارگذاری دادهها سریعتر شده
کارایی تستها افزایش پیدا کرده
وابستگی به ابزارهای خارجی کمتر شده
اضافه شدن ایندکسها به جدول Orders در تست TPROC-H
بهینهتر شدن اجرای Queryهای تحلیلی
افزایش دقت تستهای Partitioned Row Store
افزایش کارایی شبیهسازی سناریوهای واقعی
ارتقا نسخه Docker به 4.12
سازگاری بهتر با محیطهای Container
سادهتر شدن استقرار در محیط Cloud و DevOps
افزایش پایداری اجرا در تستهای مقیاس بزرگ
اصلاح خطای اجرای TPCH در حالت Single User
افزایش قابلیت اعتماد تست
جلوگیری از خطا در سناریوهای تست محدود
اضافه شدن قابلیت Keepalive در datagenrun
جلوگیری از قطع اجرای تولید داده
افزایش پایداری تستهای طولانیمدت
فصل3 ارزیابی عملکرد با ابزار HammerDB
خروجی محک HammerDB شامل دو مورد: (1) TPM و (2) NOPM است. TPM عبارت است از تعداد تراکنشهایی که در واحد زمان انجام شده و سامانه نسبت به آنها پاسخگو بوده است. توجه به این نکته ضروری است که TPMهای گزارششده برای سامانههای مختلف تنها زمانی قابلمقایسه است که بر روی پایگاه دادههای یکسان بهدستآمده باشند. از طرف دیگر، معیار NOPM یا New Orders per Minute معیاری است که مستقل از پایگاه داده موردمطالعه و تعداد سفارشهای وارده در هر دقیقه را مشخص میکند.
در آزمون پایگاه داده با استفاده از محک HammerDB، اجرای برنامه محکهای TPCC و نظایر آن به همراه شبیهسازی پایگاه داده نظیر MySQL و یا هر پایگاه داده دیگری قابل انجام است. بدین منظور باید این پایگاه داده بر روی دیسک و یا حجم اختصاصیافته از سوی سامانه ذخیرهسازی داده قرار بگیرد. این روند در نمایش داده شده است. در نهایت مواردی نظیر پهنای باند، تأخیر و TPS بهعنوان خروجی این محک قابل گزارش است.
شکل 3: نمایی از آزمون پایگاه داده روی سامانه ذخیرهسازی
.jpg)
فصل4 تحلیل ابزار MarkLogic
برخلاف ابزارهای عمومی مانند HammerDB، محک MarkLogic یک ابزار بسیار تخصصی است که منحصراً برای سنجش عملکرد پایگاه داده NoSQL خود، یعنی MarkLogic، طراحی شده است. هدف اصلی آن ارزیابی تعامل این پایگاه داده با سختافزار زیرین و همچنین تست نسخههای نرمافزاری آینده است. هدف اصلی محک MarkLogic ارزیابی کارایی پایگاه داده MarkLogic، سنجش پیکربندیهای سختافزاری و آزمودن نسخههای جدید نرمافزار است. خودِ پایگاه داده MarkLogic یک پلتفرم تجاری NoSQL با قابلیتهای ویژهای مانند جستجو، تکرار (Replication) و امنیت است که در صنایع حساس مانند خدمات مالی و برای کاربردهایی نظیر تحلیل هوشمند، مدیریت داراییهای دیجیتالی، مدیریت بحران و دادههای حجیم (Big Data) استفاده میشود. وجود چنین محک تخصصی برای اطمینان از عملکرد بهینه در این محیطهای بحرانی ضروری است.
شکل 4: نمایی از ابزار MarkLogic

محکMarkLogic برای ارزیابی کارایی پایگاه داده MarkLogic بهدستآمده است و برای ارزیابی تنظیمات سختافزار و نیز نسخههای آینده نرمافزار MarkLogic استفاده میشود. این بارکاری به دو مرحله مجزا قابلتقسیم است:
بار کاری MarkLogic به دو مرحله مجزا تقسیم میشود که هر یک جنبه متفاوتی از عملکرد سیستم را میسنجد:
.png)
مرحله دریافت (Ingestion) با حجم بالای عملیات ورودی/خروجی (I/O) شناخته میشود و شامل سه زیرمرحله کلیدی است:
1. در ابتدا، دادهها به حافظه وارد میشوند و تنها عملیات نوشتن روی دیسک، مربوط به ذخیرهسازی ژورنالها (Journal saves) است.
2. پس از پر شدن سریع حافظه، دادهها به دیسک منتقل (Flush) شده و به صورت on-disk stands ذخیره میشوند.
3. با افزایش تعداد این stands، و برای حفظ کارایی پرسوجوها، MarkLogic آنها را با یکدیگر ادغام میکند تا سربار کاهش یابد. این فرآیند شامل خواندن stands قدیمی، نوشتن یک نسخه ادغامشده جدید و حذف نسخههای اولیه است.
برای اطمینان از صحت عملکرد، مراحل فوق چندین بار تکرار میشوند. بهعنوانمثال برای ابزار PCIe Application Accelerators این عملیات 24 بار تکرار شده و هر بازه بین 60-120 دقیقه زمان نیاز دارد و کل زمان آزمون 24-48 ساعت خواهد بود. برای سامانههایی با توان عملیاتی IO پایین، کل زمان آزمون ممکن است چندین روز طول بکشد. آخرین نسخه اصلی منتشرشده از MarkLogic در حال حاضر MarkLogic Server 12 است از جمله قابلیت های آن می توان به موارد زیر اشاره کرد:
بهبود احراز هویت چندمرحلهای
تقویت رمزنگاری دادهها
کنترل دسترسی پیشرفتهتر مبتنی بر نقش (RBAC)
افزایش قابلیتهای Audit و مانیتورینگ امنیت
افزایش سرعت اجرای Queryهای پیچیده
بهبود ایندکسگذاری خودکار
کاهش زمان پاسخ در دادههای حجیم
افزایش Performance در پردازش دادههای سندی (JSON/XML)
بهینهسازی مدیریت دادههای JSON
پشتیبانی قویتر از Graph Data
بهبود مدیریت دادههای Semantics و RDF
یکپارچگی بهتر بین مدلهای داده
بهینهسازی اجرا در Kubernetes
توسعه قابلیت Autoscaling
بهبود مدیریت Cluster در محیط Hybrid Cloud
افزایش انعطاف در استقرار Microservices
بهبود ETL داخلی
اتصال سادهتر به Data Lake
بهبود پردازش Real-Time Data
پشتیبانی بهتر از APIهای REST و GraphQL
فصل5 ارزیابی عملکرد با ابزار MarkLogic
هدف اصلی آزمون MarkLogic محاسبه تأخیر کل است که با استفاده از چهار مشخصه کلیدی ارزیابی میشود. این معیارها، همانطور که در مسیر I/O پایگاه داده شکل 6 نشان داده شده است، گلوگاههای بالقوه در سطح ذخیرهسازی را مشخص میکنند:
* J-lat (تأخیر نوشتن ژورنال): این معیار تأخیر مربوط به ثبت تمام تغییرات پایگاه داده (مانند افزودن، حذف یا جایگزینی) در ژورنال را اندازهگیری میکند. ژورنال برای بازیابی سیستم پس از خرابیهای ناگهانی ضروری است.
* S-lat (تأخیر نوشتن ذخیره): این معیار، تأخیر ناشی از انتقال دادهها از حافظه به دیسک و ایجاد یک on-disk stand را نشان میدهد.
* MW/R-lat (تأخیر خواندن/نوشتن ادغام): برای حفظ کارایی پرسوجوها، MarkLogic دادهها را از چندین stand میخواند، آنها را در یک stand جدید و ادغامشده مینویسد و همزمان عملیات نمایهگذاری و پاکسازی را انجام میدهد. این معیار تأخیر مرتبط با این فرآیند پیچیده خواندن و نوشتن را اندازهگیری میکند.
شکل 6: نحوه عملکرد چهار مشخصه ارزیابی MarkLogic
.png)
تمرکز عمیق محک MarkLogic بر معیارهای تأخیر I/O، رویکرد آن را از معیارهای مبتنی بر توان عملیاتی HammerDB کاملاً متمایز میکند و زمینه را برای یک مقایسه مستقیم فراهم میآورد.
جدول 1: مقایسه دو ابزار
|
نام ابزار محک |
پایگاه دادههای تحت پشتیبانی |
معیارهای کلیدی خروجی |
ویژگیهای برجسته |
|
HammerDB |
SQL Server, Oracle, Oracle TimesTen, MySQL, PostgreSQL, EnterpriseDB Postgres, Redis |
TPM ، NOPM، BW، Latency و TPS |
سهولت در راهاندازی و اجرای سریع در مقایسه با TPC اصلی، خروجیهای با ثبات در صورت عدم تغییر پیکربندی، قابلیت اطمینان بالا |
|
MarkLogic |
پایگاه داده NoSQL MarkLogic |
J-lat, S-lat, MW/R-lat |
تمرکز بر رویارویی با چالشهای دادههای حجیم، امنیت و قابلیت جستجوی توأمان، مناسب برای آنالیز هوشمند و مدیریت بحران |
