په یو نورمال، "سټرینګ" DBMS کې، چې مثالونه یې MySQL، Postgres، MS SQL Server دي، ډاټا په دې ترتیب کې ساتل کیږي:
په دې حالت کې، د یو قطار پورې اړوند ارزښتونه په فزیکي توګه په څنګ کې ساتل کیږي. په کالم DBMS کې، د مختلفو کالمونو ارزښتونه په جلا توګه ساتل کیږي، او د یو کالم ډاټا یوځای ساتل کیږي:
د کالمر DBMSs مثالونه Vertica، Paraccel (Actian Matrix، Amazon Redshift)، Sybase IQ، Exasol، Infobright، InfiniDB، MonetDB (VectorWise، Actian Vector)، LucidDB، SAP HANA، Google Dremel، Google PowerDrill، kb + Druid دي.
شرکت یو میل فارورډر دی
تسکين
کلک هاؤس په اوبنټو کې د یو واحد کمانډ سره نصب کوي. که تاسو SQL پیژنئ، تاسو کولی شئ سمدلاسه د خپلو اړتیاو لپاره د کلک هاؤس کارول پیل کړئ. په هرصورت، دا پدې معنی ندي چې تاسو کولی شئ په MySQL کې "د جوړیدو جدول وښایئ" او په کلک هاؤس کې د SQL کاپی پیسټ کړئ.
د MySQL په پرتله، پدې DBMS کې د میز سکیما تعریفونو کې د ډیټا ډول مهم توپیرونه شتون لري، نو تاسو لاهم یو څه وخت ته اړتیا لرئ ترڅو د میز سکیما تعریفونه بدل کړئ او د میز انجنونه زده کړئ ترڅو آرامۍ ترلاسه کړئ.
کلیک هاؤس پرته له کوم اضافي سافټویر څخه عالي کار کوي ، مګر که تاسو غواړئ نقل وکاروئ نو تاسو به د ZooKeeper نصبولو ته اړتیا ولرئ. د پوښتنو فعالیت تحلیل عالي پایلې ښیې - د سیسټم میزونه ټول معلومات لري ، او ټول معلومات د زاړه او ستړي ایس کیو ایل په کارولو سره ترلاسه کیدی شي.
محصولات
بنچمارک د کلک هاؤس په پرتله د ویرټیکا او مای ایس کیو ایل پرتله کول په ترتیب سرور کې: دوه ساکټونه Intel® Xeon® CPU E5-2650 v2 @ 2.60GHz؛ 128 جی بی RAM؛ md RAID-5 په 8 6TB SATA HDD، ext4.بنچمارک د ایمیزون ریډ شفټ کلاوډ ذخیره کولو سره د کلیک هاوس پرتله کول.- د بلاګ اقتباسات
د کلک هاؤس فعالیت په اړه Cloudflare :
د ClickHouse ډیټابیس خورا ساده ډیزاین لري - په کلستر کې ټول نوډونه ورته فعالیت لري او یوازې د همغږۍ لپاره ZooKeeper کاروي. موږ د څو نوډونو یو کوچنی کلستر جوړ کړ او ازموینې یې ترسره کړې، چې په ترڅ کې مو وموندله چې سیسټم خورا اغیزمن فعالیت لري، کوم چې د تحلیلي DBMS بنچمارکونو کې ادعا شوي ګټو سره مطابقت لري. موږ پریکړه وکړه چې د ClickHouse شاته مفهوم ته نږدې کتنه وکړو. د څیړنې لومړی خنډ د وسیلو نشتوالی او د ClickHouse کوچنۍ ټولنه وه، نو موږ د دې DBMS ډیزاین ته پام وکړ ترڅو پوه شو چې دا څنګه کار کوي.
ClickHouse د کافکا څخه مستقیم د معلوماتو ترلاسه کولو ملاتړ نه کوي، ځکه چې دا یوازې یو ډیټابیس دی، نو موږ په Go کې خپل د اډاپټر خدمت لیکلی. دې د کافکا څخه د Cap'n Proto کوډ شوي پیغامونه ولوستل، TSV ته یې بدل کړل، او د HTTP انٹرفیس له لارې یې په بیچونو کې کلیک هاوس ته داخل کړل. موږ وروسته دا خدمت بیا لیکلی ترڅو د Go کتابتون کارولو لپاره زموږ د خپل ClickHouse انٹرفیس سره په ګډه د فعالیت ښه کولو لپاره. کله چې د پاکټونو ترلاسه کولو فعالیت ارزونه کول، موږ یو مهم شی وموندل - دا معلومه شوه چې د ClickHouse لپاره دا فعالیت په کلکه د پاکټ اندازې پورې اړه لري، دا د قطارونو شمیر چې په ورته وخت کې داخل شوي. د دې لپاره چې پوه شي ولې دا پیښیږي، موږ مطالعه کړې چې څنګه ClickHouse ډاټا ذخیره کوي.
اصلي انجن، یا بلکه، د میز انجنونو کورنۍ چې د ClickHouse لخوا د معلوماتو ذخیره کولو لپاره کارول کیږي، MergeTree دی. دا انجن په تصور کې د LSM الګوریتم سره ورته دی چې په ګوګل BigTable یا Apache Cassandra کې کارول کیږي، مګر د منځني حافظې میز جوړولو څخه ډډه کوي او ډاټا مستقیم ډیسک ته لیکي. دا دې ته د لیکلو عالي وسیله ورکوي، ځکه چې هر داخل شوی پاکټ یوازې د "لومړني کیلي" لومړني کیلي لخوا ترتیب شوی، کمپریس شوی، او ډیسک ته لیکل شوی ترڅو د برخې جوړولو لپاره.
د حافظې میز نشتوالی یا د ډیټا "تازۍ" کوم مفهوم هم پدې معنی دی چې دوی یوازې اضافه کیدی شي ، سیسټم د بدلولو یا حذف کولو ملاتړ نه کوي. تر نن ورځې پورې، د ډیټا حذف کولو یوازینۍ لار دا ده چې دا د تقویم میاشتې له مخې حذف کړئ ، ځکه چې برخې هیڅکله د میاشتې حد نه تیریږي. د ClickHouse ټیم په فعاله توګه د دې خصوصیت دودیز کولو لپاره کار کوي. له بلې خوا، دا د لیکلو او یوځای کولو برخې له مینځپانګې څخه پاکوي، نو د موازي داخلونو شمیر سره په لیکه کې د ټرپټ پیمانه ترلاسه کړئ تر هغه چې I/O یا کورونه بشپړ شي.
په هرصورت، دا حالت پدې معنی هم دی چې سیسټم د کوچنیو کڅوړو لپاره مناسب نه دی، نو د کافکا خدمتونه او داخل کونکي د بفرینګ لپاره کارول کیږي. برسېره پردې، په شاليد کې ClickHouse په دوامداره توګه د برخو یوځای کولو ته دوام ورکوي، ترڅو د معلوماتو ډیری کوچنۍ برخې یوځای شي او ډیر ځله ثبت شي، پدې توګه د ثبت کولو شدت زیاتوي. په هرصورت، ډیری غیر اړونده برخې به د داخلیدو د تیریدو لامل شي تر هغه چې ادغام دوام ومومي. موږ وموندله چې د ریښتیني وخت ډیټا ادغام او د مصرف کولو فعالیت تر مینځ غوره جوړجاړی په میز کې په هره ثانیه کې د محدود شمیر داخلونو منل دي.
د جدول لوستلو فعالیت کلیدي په ډیسک کې د معلوماتو شاخص او موقعیت دی. مهمه نده چې پروسس څومره ګړندی وي ، کله چې انجن اړتیا لري د ډیسک څخه د ټیرابایټ ډیټا سکین کړي او یوازې د هغې یوه برخه وکاروي ، دا به وخت ونیسي. ClickHouse د کالم پلورنځی دی، نو هره برخه د هر کالم (کالم) لپاره د هر قطار لپاره ترتیب شوي ارزښتونو سره فایل لري. په دې توګه، ټول کالمونه چې په پوښتنې کې شتون نلري لومړی پریښودل کیدی شي، او بیا ډیری حجرې د ویکتور شوي اجرا کولو سره موازي پروسس کیدی شي. د بشپړ سکین څخه مخنیوي لپاره، هره برخه د کوچني شاخص فایل لري.
د دې په پام کې نیولو سره چې ټول کالمونه د "لومړني کیلي" لخوا ترتیب شوي، د شاخص فایل یوازې د هر Nth قطار لیبلونه (نیول شوي قطارونه) لري، د دې لپاره چې د دې وړتیا ولري چې حتی د خورا لوی میزونو لپاره په حافظه کې وساتي. د مثال په توګه ، تاسو کولی شئ ډیفالټ تنظیمات د "هر 8192 قطار په نښه کولو" لپاره تنظیم کړئ ، بیا د 1 ټریلیون سره د میز "لږ" لیست کول. هغه لینونه چې په اسانۍ سره په حافظه کې فټ کیږي یوازې 122 حروف ونیسي.
د سیسټم پرمختګ
د کلک هاؤس پراختیا او پرمختګ په ګوته کیدی شي
مقبولیت
داسې ښکاري چې د Clickhouse شهرت په چټکۍ سره وده کوي، په ځانګړې توګه په روسي ژبو ټولنه کې. د تیر کال د لوړ بار 2018 کنفرانس (مسکو، نومبر 8-9، 2018) وښودله چې شیطانان لکه vk.com او Badoo د Clickhouse کاروي، کوم چې په ورته وخت کې د لسګونو زرو سرورونو څخه ډاټا (د بیلګې په توګه، لاګ) داخلوي. په 40 دقیقو ویډیو کې
کاریالونه
د یو څه وخت په څیړنه کې مصرف کولو وروسته، زه فکر کوم چې داسې سیمې شتون لري چیرې چې ClickHouse کولی شي ګټور وي یا په بشپړ ډول نور دودیز او مشهور حلونه ځای په ځای کړي لکه MySQL، PostgreSQL، ELK، Google Big Query، Amazon RedShift، TimescaleDB، Hadoop، MapReduce، Pinot او ډرویډ لاندې د پورته DBMS نوي کولو یا بشپړولو لپاره د ClickHouse کارولو توضیحات دي.
د MySQL او PostgreSQL پراخول
په دې وروستیو کې، موږ په جزوي توګه MySQL د نیوز لیټر پلیټ فارم لپاره د ClickHouse سره بدل کړ
کلک هاؤس دوه کمپریشن الګوریتمونه کاروي چې د معلوماتو مقدار شاوخوا کموي
د ELK ځای په ځای کول
زما د خپلې تجربې پراساس، د ELK سټیک (ElasticSearch، Logstash او Kibana، پدې ځانګړې قضیه کې ElasticSearch) د لاګونو ذخیره کولو لپاره د اړتیا په پرتله د چلولو لپاره ډیرې سرچینې ته اړتیا لري. ElasticSearch یو عالي انجن دی که تاسو د بشپړ متن لاګ لټون غواړئ (کوم چې زه فکر نه کوم چې تاسو واقعیا ورته اړتیا لرئ) ، مګر زه حیران یم چې ولې دا د حقیقت معیاري لاګنګ انجن شو. د دې د اخستلو فعالیت، د Logstash سره یوځای، موږ ته حتی په کافي سپک کاري بارونو کې ستونزې راکوي او د ډیرو RAM او ډیسک ځای اضافه کولو ته اړتیا لري. د ډیټابیس په توګه، Clickhouse د لاندې دلیلونو لپاره د ElasticSearch څخه غوره دی:
- د SQL ژبو ملاتړ؛
- د ذخیره شوي معلوماتو د کمپریشن غوره درجې؛
- د بشپړ متن لټون پرځای د ریجیکس لټون لپاره ملاتړ؛
- د پوښتنو مهالویش ښه شوی او ښه عمومي فعالیت.
اوس مهال ، ترټولو لویه ستونزه چې د ELK سره د ClickHouse پرتله کول رامینځته کیږي د لاګ اپلوډ کولو لپاره د حلونو نشتوالی دی ، په بیله بیا پدې موضوع کې د اسنادو او لارښودونو نشتوالی. په ورته وخت کې، هر کاروونکي کولی شي د ډیجیټل سمندر لارښود په کارولو سره ELK تنظیم کړي، کوم چې د داسې ټیکنالوژیو ګړندۍ پلي کولو لپاره خورا مهم دی. دلته د ډیټابیس انجن شتون لري، مګر تر اوسه د ClickHouse لپاره هیڅ فایل بیټ شتون نلري. هو، شته
لږترلږه حلونو ته ترجیح ورکولو سره، ما د FluentBit کارولو هڅه وکړه، د کلک هاوس سره د خورا ټیټ حافظې لاګ اپلوډ وسیله، پداسې حال کې چې د کافکا کارولو څخه ډډه کول. په هرصورت، لږې ناانډولتیاوې باید په نښه شي، لکه
د کیبانا د بدیل په توګه، تاسو کولی شئ د کلک هاؤس د شاتړ په توګه وکاروئ
د ګوګل لوی پوښتنې او ایمیزون ریډ شفټ بدلول (د لوی شرکتونو لپاره حل)
د BigQuery لپاره د کارونې مثالی قضیه د JSON ډیټا 1TB پورته کول او په هغې کې تحلیلي پوښتنې پرمخ وړل دي. لوی پوښتنه یو عالي محصول دی چې توزیع کول یې خورا سخت دي. دا د ClickHouse په پرتله خورا پیچلي سافټویر دی چې په داخلي کلستر کې چلیږي، مګر د مراجعینو له نظره، دا د ClickHouse سره ډیر عام دی. BigQuery کولی شي ژر تر ژره "قیمت لوړ کړي" یوځل چې تاسو د هر انتخاب لپاره تادیه پیل کړئ ، نو دا د دې ټولو ګټو او زیانونو سره ریښتیني SaaS حل دی.
ClickHouse غوره انتخاب دی کله چې تاسو ډیری کمپیوټري ګران پوښتنې پرمخ وړئ. هرڅومره چې تاسو هره ورځ د SELECT پوښتنې پرمخ وړئ ، نو دا د ClickHouse سره د Big Query ځای په ځای کولو کې ډیر ټکی رامینځته کوي ، ځکه چې دا ډول بدیل به تاسو په زرهاو ډالر خوندي کړي کله چې دا د ډیری ټیرابایټ ډیټا پروسس کولو خبره راځي. دا په ذخیره شوي معلوماتو کې نه پلي کیږي، کوم چې په لوی پوښتنې کې پروسس کولو لپاره خورا ارزانه دی.
د الکساندر زیتسیف لخوا په یوه مقاله کې، د Altinity شریک بنسټ ایښودونکی
د TimescaleDB ځای په ځای کول
TimescaleDB د PostgreSQL توسیع دی چې په منظم ډیټابیس کې د وخت لړۍ سره کار کول غوره کوي (
که څه هم ClickHouse د وخت لړۍ طاق کې جدي سیالي کونکی ندی ، مګر د کالم جوړښت او ویکتور پوښتنو اجرا کولو شرایطو کې ، دا د تحلیلي پوښتنو پروسس کولو ډیری قضیو کې د TimescaleDB څخه خورا ګړندی دی. په ورته وخت کې ، د کلیک هاوس پیکټ ډیټا ترلاسه کولو فعالیت شاوخوا 3 ځله لوړ دی ، سربیره پردې ، دا 20 ځله لږ ډیسک ځای کاروي ، کوم چې د تاریخي معلوماتو لوی مقدار پروسس کولو لپاره واقعیا مهم دی:
د ClickHouse برعکس، په TimescaleDB کې د ځینې ډیسک ځای خوندي کولو یوازینۍ لار د ZFS یا ورته فایل سیسټمونو کارول دي.
ClickHouse ته راتلونکي تازه معلومات به احتمال د ډیلټا کمپریشن معرفي کړي، کوم چې دا به د وخت لړۍ ډیټا پروسس او ذخیره کولو لپاره نور هم مناسب کړي. TimescaleDB ممکن په لاندې قضیو کې د کلک کلیک هاوس څخه غوره انتخاب وي:
- کوچني نصبونه د خورا لږ رام سره (<3 GB)؛
- د کوچنیو INSERTs لوی شمیر چې تاسو نه غواړئ په لویو برخو کې بفر کړئ؛
- ښه ثبات، یونیفورم او د ACID اړتیاوې؛
- PostGIS ملاتړ؛
- د موجوده PostgreSQL جدولونو سره یوځای کیدل، ځکه چې د Timescale DB په اصل کې PostgreSQL دی.
د Hadoop او MapReduce سیسټمونو سره سیالي
Hadoop او د MapReduce نور محصولات کولی شي ډیری پیچلي محاسبې ترسره کړي، مګر دوی د لوی ځنډ سره پرمخ ځي. ClickHouse دا ستونزه د ټیرابایټ ډیټا پروسس کولو او نږدې سمدستي پایلې تولیدولو سره حل کوي. په دې توګه، ClickHouse د چټک، متقابل تحلیلي څیړنې ترسره کولو لپاره خورا ډیر اغیزمن دی، کوم چې باید د ډیټا ساینس پوهانو لپاره دلچسپي وي.
د Pinot او Druid سره سیالي
د ClickHouse ترټولو نږدې سیالي کونکي کالمر دي، په خطي توګه د اندازې وړ خلاصې سرچینې محصولات Pinot او Druid. د دې سیسټمونو پرتله کولو عالي دنده په مقاله کې خپره شوې
دا مقاله نوي کولو ته اړتیا لري - دا وايي چې کلیک هاوس د تازه او حذف عملیاتو ملاتړ نه کوي ، کوم چې د وروستي نسخو په اړه په بشپړ ډول ریښتیني ندي.
موږ د دې ډیټابیسونو سره ډیره تجربه نلرو ، مګر زه واقعیا د زیربنا پیچلتیا نه خوښوم چې د ډرویډ او پینټ چلولو لپاره اړین دي - دا د ټولو خواو څخه د جاوا لخوا محاصره شوي د خوځنده برخو ټوله ډله ده.
Druid او Pinot د اپاچي انکیوبټر پروژې دي، کوم چې د اپاچي لخوا د دوی د GitHub پروژې پاڼو کې په تفصیل سره پوښل شوي. پنوټ د 2018 په اکتوبر کې په انکیوبټر کې راڅرګند شو، او ډرویډ 8 میاشتې مخکې زیږیدلی و - په فبروري کې.
د AFS د کار کولو څرنګوالي په اړه د معلوماتو نشتوالی زما لپاره ځینې او شاید احمقانه پوښتنې راپورته کوي. زه حیران یم چې ایا د پنوټ لیکوالان په پام کې نیولي چې د اپاچي فاؤنڈیشن د ډرایډ په وړاندې ډیر متزلزل دی ، او ایا د سیالي کونکي په وړاندې دا ډول چلند د حسد احساس لامل شوی؟ ایا د ډرویډ پراختیا به ورو شي او د پنوټ پراختیا ګړندۍ شي که چیرې د پخواني ملاتړ کونکي سپانسرونه په ناڅاپي ډول وروستي سره علاقه ولري؟
د ClickHouse زیانونه
ناپاکتوب: په ښکاره ډول، دا لاهم یو ستړی کوونکی ټیکنالوژي ده، مګر په هر حالت کې، د نورو کالمونو DBMS کې داسې هیڅ نه لیدل کیږي.
کوچني داخلونه په لوړ سرعت سره ښه فعالیت نه کوي: داخلونه باید په لویو برخو وویشل شي ځکه چې د وړو داخلونو فعالیت په هر قطار کې د کالمونو د شمیر په تناسب کمیږي. دا څنګه کلیک هاوس په ډیسک کې ډیټا ذخیره کوي - هر کالم معنی لري 1 فایل یا ډیر ، نو د 1 قطار داخلولو لپاره چې 100 کالمونه لري ، تاسو اړتیا لرئ لږترلږه 100 فایلونه خلاص او ولیکئ. له همدې امله د بفرینګ داخلول یو منځګړیتوب ته اړتیا لري (مګر که پیرودونکي پخپله بفرینګ چمتو کړي) - معمولا کافکا یا یو ډول قطار سیسټم. تاسو کولی شئ د بفر میز انجن هم وکاروئ ترڅو وروسته د MergeTree جدولونو کې د ډیټا لویې برخې کاپي کړئ.
د جدول یوځای کیدل د سرور رام لخوا محدود دي ، مګر لږترلږه دوی شتون لري! د مثال په توګه، Druid او Pinot هیڅ ډول اړیکې نلري، ځکه چې دوی په مستقیم ډول په ویشل شوي سیسټمونو کې پلي کول ستونزمن دي چې د نوډونو ترمنځ د ډیټا لوی مقدار حرکت کولو ملاتړ نه کوي.
موندنو
په راتلونکو کلونو کې، موږ پلان لرو چې په Qwintry کې د ClickHouse پراخه ګټه پورته کړو، ځکه چې دا DBMS د فعالیت، ټیټ سر، توزیع کولو، او سادگي غوره توازن چمتو کوي. زه ډاډه یم چې دا به په چټکۍ سره خپور شي کله چې د ClickHouse ټولنه په کوچنیو او منځنیو تاسیساتو کې د کارولو لپاره د نورو لارو سره راشي.
ځینې اعلانونه 🙂
له موږ سره د پاتې کیدو لپاره مننه. ایا تاسو زموږ مقالې خوښوي؟ غواړئ نور په زړه پورې مینځپانګه وګورئ؟ د امر په ورکولو یا ملګرو ته وړاندیز کولو سره زموږ ملاتړ وکړئ ،
ډیل R730xd په امستردام کې د Equinix Tier IV ډیټا مرکز کې 2 ځله ارزانه؟ یوازې دلته
سرچینه: www.habr.com