Clickhouse'ду ELK, Big Query жана TimescaleDB үчүн алмаштыруу катары колдонуу

Clickhouse Яндекс тарабынан түзүлгөн аналитикалык суроо-талаптарды онлайн иштетүү (OLAP) үчүн ачык булактуу мамычалар базасын башкаруу системасы. Аны Яндекс, CloudFlare, VK.com, Badoo жана дүйнө жүзү боюнча башка кызматтар чындап эле чоң көлөмдөгү маалыматтарды (секундасына миңдеген саптарды же дискте сакталган петабайттарды киргизүү) сактоо үчүн колдонушат.

Кадимки "сап" DBMSде, мисалы MySQL, Postgres, MS SQL Server, маалыматтар ушул тартипте сакталат:

Clickhouse'ду ELK, Big Query жана TimescaleDB үчүн алмаштыруу катары колдонуу

Бул учурда, бир катарга тиешелүү баалуулуктар физикалык жактан жанаша сакталат. Мамычалуу DBMSде ар кандай мамычалардагы маанилер өзүнчө, ал эми бир мамычанын маалыматтары чогуу сакталат:

Clickhouse'ду ELK, Big Query жана TimescaleDB үчүн алмаштыруу катары колдонуу

Мамычалуу DBMS мисалдары Vertica, Paraccel (Actian Matrix, Amazon Redshift), Sybase IQ, Exasol, Infobright, InfiniDB, MonetDB (VectorWise, Actian Vector), LucidDB, SAP HANA, Google Dremel, Google PowerDrill, Druid, kdb+.

Компания почта экспедитор болуп саналат Qwintry Мен 2018-жылы отчеттуулук үчүн Clickhouse колдоно баштадым жана анын жөнөкөйлүгү, масштабдуулугу, SQL колдоосу жана ылдамдыгы менен абдан таң калдым. Бул DBMS ылдамдыгы сыйкыр менен чектешкен.

тынчылык

Clickhouse бир буйрук менен Ubuntu'го орнотот. Эгерде сиз SQL-ди билсеңиз, анда дароо эле Clickhouse'ду өз муктаждыктарыңыз үчүн колдоно баштасаңыз болот. Бирок, бул MySQLде "таблица түзүүнү көрсөтүү" жана Clickhouse'да SQLди көчүрүп чаптоо мүмкүн дегенди билдирбейт.

MySQL менен салыштырганда, бул DBMSдеги таблица схемасынын аныктамаларында маалымат түрүнүн маанилүү айырмачылыктары бар, андыктан сизге дагы эле стол схемасынын аныктамаларын өзгөртүүгө жана ыңгайлуу болуу үчүн стол кыймылдаткычтарын үйрөнүүгө бир аз убакыт керек.

Clickhouse эч кандай кошумча программасыз жакшы иштейт, бирок репликацияны колдонгуңуз келсе, ZooKeeper орнотушуңуз керек болот. Суроолордун аткарылышын талдоо эң сонун натыйжаларды көрсөтөт - системалык таблицалар бардык маалыматты камтыйт жана бардык маалыматтарды эски жана кызыксыз SQL аркылуу алууга болот.

кирешелүүлүк

  • Эталон Конфигурация серверинде Clickhouse менен Vertica жана MySQL салыштыруулары: эки розетка Intel® Xeon® CPU E5-2650 v2 @ 2.60GHz; 128 ГБ RAM; md RAID-5 8 6TB SATA HDD, ext4.
  • Эталон Clickhouse менен Amazon RedShift булут сактагычын салыштыруу.
  • Блогдон үзүндүлөр Cloudflare Clickhouse иштеши жөнүндө:

Clickhouse'ду ELK, Big Query жана TimescaleDB үчүн алмаштыруу катары колдонуу

ClickHouse маалымат базасы абдан жөнөкөй дизайнга ээ - кластердеги бардык түйүндөр бирдей функцияга ээ жана координациялоо үчүн ZooKeeper гана колдонушат. Биз бир нече түйүндөрдүн чакан кластерин курдук жана тестирлөө жүргүздүк, анын жүрүшүндө системанын абдан таасирдүү иштеши бар экенин аныктадык, бул DBMS аналитикалык көрсөткүчтөрүндө айтылган артыкчылыктарга туура келет. Биз ClickHouse концепциясын тереңирээк карап чыгууну чечтик. Изилдөө үчүн биринчи тоскоолдук куралдардын жоктугу жана ClickHouse чакан жамааты болду, андыктан анын кантип иштээрин түшүнүү үчүн биз бул DBMS дизайнын изилдеп көрдүк.

ClickHouse түздөн-түз Кафкадан маалыматтарды алууну колдобойт, анткени ал жөн гана маалымат базасы, ошондуктан Go'до өзүбүздүн адаптер кызматыбызды жаздык. Ал Кафкадан Cap'n Proto коддолгон билдирүүлөрдү окуп, аларды TSVге айландырды жана HTTP интерфейси аркылуу топтор менен ClickHouseга киргизди. Кийинчерээк биз бул кызматты кайра жаздык, иштөөнү жакшыртуу үчүн Go китепканасын өзүбүздүн ClickHouse интерфейсибиз менен бирге колдондук. Пакеттерди кабыл алуунун натыйжалуулугун баалоодо биз маанилүү нерсени таптык - ClickHouse үчүн бул көрсөткүч пакеттин өлчөмүнө, башкача айтканда, бир эле учурда киргизилген катарлардын санына катуу көз каранды экени белгилүү болду. Эмне үчүн мындай болуп жатканын түшүнүү үчүн биз ClickHouse маалыматтарды кантип сактай турганын изилдедик.

Негизги кыймылдаткыч, тагыраак айтканда, ClickHouse тарабынан маалыматтарды сактоо үчүн колдонулган стол кыймылдаткычтарынын үй-бүлөсү MergeTree болуп саналат. Бул кыймылдаткыч концептуалдык жактан Google BigTable же Apache Cassandraда колдонулган LSM алгоритмине окшош, бирок ортодогу эс тутум таблицасын түзүүдөн качат жана маалыматтарды түз дискке жазат. Бул ага эң сонун жазуу өткөрүү жөндөмдүүлүгүн берет, анткени ар бир киргизилген пакет "негизги ачкыч" негизги ачкычы боюнча гана сорттолуп, кысылып, сегментти түзүү үчүн дискке жазылат.

Эстутум таблицасынын же маалыматтардын "жаңылыгы" түшүнүгүнүн жоктугу, ошондой эле аларды бир гана кошууга болот дегенди билдирет, система өзгөртүүнү же жок кылууну колдобойт. Бүгүнкү күндө маалыматтарды жок кылуунун бирден-бир жолу - аны календардык ай боюнча жок кылуу, анткени сегменттер эч качан бир айдын чегин кесип өтпөйт. ClickHouse командасы бул функцияны ыңгайлаштыруу үчүн жигердүү иштеп жатат. Башка жагынан алганда, ал жазууну жана сегменттерди бириктирүүнү талашсыз кылат, андыктан өткөрүү жөндөмдүүлүгүнүн масштабын I/O же өзөктөр каныкканга чейин параллелдүү киргизүүлөрдүн саны менен сызыктуу түрдө алыңыз.
Бирок, бул жагдай ошондой эле система кичинекей пакеттерге ылайыктуу эмес экенин билдирет, ошондуктан буферлөө үчүн Kafka кызматтары жана салгычтар колдонулат. Андан ары, фондо ClickHouse сегменттерди тынымсыз бириктирүүнү улантууда, андыктан көптөгөн майда маалыматтар айкалышып, көп жолу жазылат, ошентип жаздыруу интенсивдүүлүгү жогорулайт. Бирок, бири-бирине байланышпаган бөлүктөрдүн өтө көп болушу, бириктирүү улана берсе, кыстармалардын агрессивдүү басылышына алып келет. Биз реалдуу убакыт режиминде берилиштерди кабыл алуу менен сиңирүү натыйжалуулугунун ортосундагы эң жакшы компромисс бул таблицага секундасына чектелген сандагы кыстармаларды кабыл алуу экенин таптык.

Таблицаны окуунун ачкычы дисктеги маалыматтардын индекстөө жана жайгашкан жери. Иштетүү канчалык ылдам болбосун, кыймылдаткыч дисктен терабайт маалыматтарды сканерлеп, анын бир бөлүгүн гана колдонушу керек болгондо, убакыт талап кылынат. ClickHouse - бул тилке дүкөнү, андыктан ар бир сегментте ар бир сап үчүн сорттолгон маанилери бар ар бир тилке (мамыча) үчүн файл бар. Ошентип, суроодо жок бардык мамычаларды алгач өткөрүп жиберүүгө болот, андан кийин бир нече уячаларды векторлоштурулган аткаруу менен параллелдүү иштетүүгө болот. Толук сканерден качуу үчүн, ар бир сегментте кичинекей индекс файлы бар.

Бардык мамычалар "негизги ачкыч" боюнча сорттолгондугун эске алсак, индекс файлы өтө чоң таблицаларда да аларды эс тутумда сактап калуу үчүн ар бир N-саптын энбелгилерин (капталган саптарды) гана камтыйт. Мисалы, сиз демейки жөндөөлөрдү "ар бир 8192-сапты белгилөө", андан кийин 1 триллион менен таблицаны "аз" индекстөө үчүн орното аласыз. эстутумга оңой туура келген саптар 122 070 символду гана алат.

Системасын иштеп чыгуу

Clickhouse өнүктүрүү жана жакшыртуу боюнча байкоого болот Github репо жана «өсүү» процесси таасирдүү темп менен жүрүп жатканын текшериңиз.

Clickhouse'ду ELK, Big Query жана TimescaleDB үчүн алмаштыруу катары колдонуу

популярдуулугу

Кличхаустун популярдуулугу өзгөчө орус тилдүү коомчулукта геометриялык түрдө өсүп бараткандай. Былтыркы High load 2018 конференциясы (Москва, 8-жылдын 9-2018-ноябры) vk.com жана Badoo сыяктуу желмогуздар бир эле убакта он миңдеген серверлерден маалыматтарды (мисалы, журналдар) киргизген Clickhouse колдонорун көрсөттү. 40 мүнөттүк видеодо ВКонтакте командасынан Юрий Насретдинов анын кантип жасалганы тууралуу айтып берет. Жакында биз материал менен иштөө ыңгайлуу болушу үчүн стенограмманы Хабрга жайгаштырабыз.

өтүнмөлөр

Изилдөөгө бир аз убакыт сарптагандан кийин, ClickHouse пайдалуу же MySQL, PostgreSQL, ELK, Google Big Query, Amazon RedShift, TimescaleDB, Hadoop, MapReduce, Pinot жана башка салттуу жана популярдуу чечимдерди толугу менен алмаштыра ала турган чөйрөлөр бар деп ойлойм. Druid. Төмөндө жогорудагы DBMSти жаңыртуу же толугу менен алмаштыруу үчүн ClickHouse колдонуунун чоо-жайы келтирилген.

MySQL жана PostgreSQL кеңейтүү

Жакында биз MySQLди жарым-жартылай маалымат бюллетенинин платформасы үчүн ClickHouse менен алмаштырдык Mautic маалымат бюллетени. Көйгөй MySQL жакшы ойлонулбаган дизайндан улам, ар бир жөнөтүлгөн электрондук почтаны жана ошол электрондук почтадагы ар бир шилтемени base64 хэш менен каттап, чоң MySQL таблицасын (email_stats) түзүп турган. Кызматтын абоненттерине болгону 10 миллион электрондук кат жөнөткөндөн кийин, бул таблица 150 ГБ файл мейкиндигин ээлеп, MySQL жөнөкөй сурамдарда "келесоо" боло баштады. Файл мейкиндигиндеги көйгөйдү чечүү үчүн биз InnoDB таблицасынын кысуусун ийгиликтүү колдондук, бул аны 4 эсеге кыскартты. Бирок, тарыхты окуу үчүн гана MySQLде 20-30 миллиондон ашык электрондук каттарды сактоонун мааниси жок, анткени кандайдыр бир себептерден улам толук сканерден өтүүгө туура келген жөнөкөй сурам алмашуу жана оор киргизүү/чыгаруу натыйжаларын берет. биз дайыма Zabbix эскертүүлөрүн алып турган.

Clickhouse'ду ELK, Big Query жана TimescaleDB үчүн алмаштыруу катары колдонуу

Clickhouse маалымат көлөмүн болжол менен азайткан эки кысуу алгоритмин колдонот 3-4 жолу, бирок бул өзгөчө учурда, маалыматтар өзгөчө "кысылган" болгон.

Clickhouse'ду ELK, Big Query жана TimescaleDB үчүн алмаштыруу катары колдонуу

ELK алмаштыруу

Өзүмдүн тажрыйбамдын негизинде, ELK стек (ElasticSearch, Logstash жана Kibana, бул конкреттүү учурда ElasticSearch) журналдарды сактоого караганда көбүрөөк ресурстарды иштетүү үчүн талап кылынат. ElasticSearch - бул эң сонун кыймылдаткыч, эгер сиз толук текстти журналдан издөөнү кааласаңыз (жана мен муну сизге чындап кереги жок деп ойлойм), бирок эмне үчүн ал иш жүзүндө стандарттуу журналдарды каттоо кыймылдаткычы болуп калганына таң калып жатам. Logstash менен айкалышкан анын жутуу натыйжалуулугу бизге кыйла жеңил жүктөмдө да көйгөйлөрдү жаратып, барган сайын көбүрөөк оперативдүү эс жана диск мейкиндигин кошууну талап кылды. Маалымат базасы катары Clickhouse төмөнкү себептерден улам ElasticSearchге караганда жакшыраак:

  • SQL диалекти колдоо;
  • сакталган маалыматтарды кысуу мыкты даражасы;
  • Толук тексттик издөөнүн ордуна Regex издөөнү колдоо;
  • Жакшыртылган суроо пландоо жана жакшыраак жалпы аткаруу.

Учурда ClickHouse менен ELK салыштыруу учурунда келип чыккан эң чоң көйгөй - жүктөө журналдарын чечүүнүн жоктугу, ошондой эле бул тема боюнча документтердин жана окуу куралдарынын жоктугу. Ошол эле учурда, ар бир колдонуучу мындай технологияларды тез ишке ашыруу үчүн абдан маанилүү Digital Ocean колдонмосун колдонуу менен ELK орното алат. Бул жерде маалымат базасы кыймылдаткычы бар, бирок ClickHouse үчүн Filebeat азырынча жок. Ооба, бар эркин жана журналдар менен иштөө системасы жыгач үй, куралы бар куйругун басыңыз ClickHouse'га журнал файлынын маалыматтарын киргизүү үчүн, бирок мунун баары көбүрөөк убакытты талап кылат. Бирок, ClickHouse дагы эле жөнөкөйлүгүнөн улам алдыда келе жатат, андыктан жаңы баштагандар да аны оңой орнотуп, 10 мүнөттүн ичинде толук функционалдык колдоно башташат.

Минималдуу чечимдерге артыкчылык берип, мен Кафканы колдонбоо үчүн ClickHouse менен FluentBitти, өтө аз эс тутум журналын жүктөө куралын колдонууга аракет кылдым. Бирок, майда-чүйдөсүнө чейин келишпестиктерди чечүү керек, мисалы дата форматындагы маселелераны FluentBit'тен ClickHouse'ка дайындарды конвертирлеген прокси катмарысыз жасоого чейин.

Кибанага альтернатива катары, сиз ClickHouse'ду арка катары колдоно аласыз Графана. Менин түшүнүшүм боюнча, бул көп сандагы маалымат чекиттерин көрсөтүүдө, өзгөчө Grafanaнын эски версияларында иштөө көйгөйлөрүн жаратышы мүмкүн. Qwintryде биз муну азырынча сынай элекпиз, бирок бул боюнча даттануулар Telegramдагы ClickHouse колдоо каналында мезгил-мезгили менен пайда болот.

Google Big Query жана Amazon RedShift алмаштыруу (чоң компаниялар үчүн чечим)

BigQuery үчүн идеалдуу колдонуу учуру 1 ТБ JSON дайындарын жүктөө жана андагы аналитикалык сурамдарды жүргүзүү. Big Query - бул чоң продукт, анын масштабдуулугун ашыкча баалоо кыйын. Бул ички кластерде иштеген ClickHouse программасына караганда алда канча татаал программа, бирок кардардын көз карашы боюнча, ClickHouse менен көп окшоштуктары бар. Ар бир ТАНДОО үчүн төлөй баштаганыңыздан кийин BigQuery бат эле "баасын көтөрөт", андыктан бул бардык жакшы жана жаман жактары менен чыныгы SaaS чечими.

ClickHouse - сиз көп эсептөөчү кымбат сурамдарды иштеткенде эң жакшы тандоо. Канчалык көп SELECT суроосун сиз күн сайын иштетсеңиз, Big Queryди ClickHouse менен алмаштыруу ошончолук көп мааниге ээ, анткени мындай алмаштыруу көптөгөн терабайттар иштетилип жаткан маалыматтарга келгенде миңдеген долларларды үнөмдөйт. Бул Big Queryде иштетүү үчүн өтө арзан болгон сакталган маалыматтарга тиешелүү эмес.

Altinity компаниясынын негиздөөчүсү Александр Зайцевдин макаласында "ClickHouseга көчүү" мындай DBMS миграциясынын артыкчылыктарын сүрөттөйт.

TimescaleDB алмаштыруу

TimescaleDB кадимки маалымат базасында убакыт сериялары менен иштөөнү оптималдаштыруучу PostgreSQL кеңейтүүсү (https://docs.timescale.com/v1.0/introduction, https://habr.com/ru/company/zabbix/blog/458530/).

ClickHouse тайм катарларынын нишасында олуттуу атаандаш болбосо да, мамычалык структурасы жана вектордук сурамдардын аткарылышы боюнча, аналитикалык сурамдарды иштеп чыгуунун көпчүлүк учурларда TimescaleDBге караганда бир топ ылдамыраак. Ошол эле учурда, ClickHouse пакеттик маалыматтарын алуу көрсөткүчү болжол менен 3 эсе жогору, андан тышкары, ал 20 эсе аз диск мейкиндигин колдонот, бул тарыхый маалыматтардын чоң көлөмүн иштетүү үчүн абдан маанилүү: 
https://www.altinity.com/blog/ClickHouse-for-time-series.

ClickHouseдан айырмаланып, TimescaleDBде диск мейкиндигин сактоонун жалгыз жолу ZFS же ушуга окшош файл системаларын колдонуу болуп саналат.

ClickHouse үчүн алдыда боло турган жаңыртуулар дельта кысуусун киргизет, бул аны убакыт серияларынын маалыматтарын иштетүү жана сактоо үчүн дагы ылайыктуу кылат. TimescaleDB төмөнкү учурларда жылаңач ClickHouse караганда жакшыраак тандоо болушу мүмкүн:

  • өтө аз RAM менен чакан орнотуулар (<3 ГБ);
  • чоң фрагменттерге буфердегиңиз келбеген көп сандагы кичинекей INSERTs;
  • жакшыраак ырааттуулук, бирдейлик жана ACID талаптары;
  • PostGIS колдоо;
  • учурдагы PostgreSQL таблицалары менен биригиңиз, анткени Timescale DB негизинен PostgreSQL.

Hadoop жана MapReduce системалары менен атаандаштык

Hadoop жана башка MapReduce өнүмдөрү көптөгөн татаал эсептөөлөрдү аткара алат, бирок алар чоң кечигүү менен иштешет. ClickHouse бул көйгөйдү терабайт маалыматтарды иштеп чыгуу жана натыйжаларды дээрлик заматта чыгаруу менен чечет. Ошентип, ClickHouse ыкчам, интерактивдүү аналитикалык изилдөөлөрдү жүргүзүү үчүн алда канча натыйжалуу, бул маалымат илимпоздорун кызыктырышы керек.

Пинот жана Друид менен мелдеш

ClickHouse'дун эң жакын атаандаштары болуп Pinot жана Druid тилкелүү, сызыктуу масштабдуу ачык булак продуктулары саналат. Бул системаларды салыштырып сонун иш макалада жарыяланган Романа Левентова 1-февраль, 2018-жыл

Clickhouse'ду ELK, Big Query жана TimescaleDB үчүн алмаштыруу катары колдонуу

Бул макаланы жаңыртуу керек - анда ClickHouse UPDATE жана DELETE операцияларын колдобойт деп айтылат, бул акыркы версияларга карата таптакыр туура эмес.

Бизде бул DBMS менен көп тажрыйбабыз жок, бирок мага Druid жана Pinot иштетүү үчүн талап кылынган негизги инфраструктуранын татаалдыгы жакпайт - бул бардык тараптан Java менен курчалган "кыймылдуу бөлүктөрдүн" бүтүндөй бир тобу.

Druid жана Pinot - Apache инкубатордук долбоорлору, алар Apache тарабынан GitHub долбоорунун беттеринде кеңири камтылган. Пино инкубатордо 2018-жылдын октябрь айында пайда болгон, ал эми Друид 8 ай мурда – февраль айында төрөлгөн.

AFS кантип иштээри тууралуу маалыматтын жоктугу мен үчүн кээ бир, балким, келесоо суроолорду жаратат. Кызык, Пиноттун авторлору Апачи Фондунун Друидге көбүрөөк ыктай турганын байкашканбы жана атаандашына карата мындай мамиле көрө албастык сезимин жаратканбы? Эгерде биринчисин колдогон демөөрчүлөр күтүлбөгөн жерден экинчисине кызыгып калса, Друиддин өнүгүүсү басаңдап, Пиноттун өнүгүүсү тездейби?

ClickHouse кемчиликтери

Жетишпегендик: Албетте, бул дагы деле кызыксыз технология, бирок кандай болгон күндө да, башка мамычалык DBMSде мындай эч нерсе көрүнбөйт.

Кичинекей кыстармалар жогорку ылдамдыкта жакшы иштебейт: кыстармалар чоң бөлүктөргө бөлүнүшү керек, анткени кичинекей кыстармалардын иштеши ар бир катардагы мамычалардын санына жараша начарлайт. ClickHouse дискте маалыматтарды ушундайча сактайт - ар бир тилке 1 же андан көп файлды билдирет, андыктан 1 мамычаны камтыган 100 сапты киргизүү үчүн, жок дегенде 100 файлды ачып, жазышыңыз керек. Мына ошондуктан кыстаруу буферлөө ортомчуну талап кылат (эгер кардар өзү буферлөөнү камсыз кылбаса) – адатта Кафка же кандайдыр бир кезек тутуму. Андан тышкары, сиз MergeTree таблицаларына маалыматтардын чоң бөлүктөрүн кийинчерээк көчүрүү үчүн Буфердик таблица кыймылдаткычын колдоно аласыз.

Таблицага кошулуу сервердин оперативдик эс тутуму менен чектелген, бирок жок дегенде алар бар! Мисалы, Друид менен Пиноттун мындай байланыштары таптакыр жок, анткени аларды түйүндөр ортосунда чоң маалымат бөлүктөрүн жылдырууну колдобогон бөлүштүрүлгөн системаларда түз ишке ашыруу кыйын.

табылгалары

Жакынкы жылдарда биз ClickHouse'ду Qwintryде кеңири колдонууну пландап жатабыз, анткени бул DBMS аткаруунун эң сонун балансын, аз чыгымды, масштабдуулукту жана жөнөкөйлүктү камсыз кылат. ClickHouse коомчулугу аны кичи жана орто орнотууларда колдонуунун көбүрөөк жолдорун ойлоп тапкандан кийин, ал тез тарайт деп ишенем.

Кээ бир жарнамалар 🙂

Биз менен болгонуңуз үчүн рахмат. Биздин макалалар сизге жагабы? Көбүрөөк кызыктуу мазмунду көргүңүз келеби? Буйрутма берүү же досторуңузга сунуштоо менен бизди колдоңуз, иштеп чыгуучулар үчүн булут VPS 4.99 доллардан, биз сиз үчүн ойлоп тапкан баштапкы деңгээлдеги серверлердин уникалдуу аналогу: VPS (KVM) E5-2697 v3 (6 өзөктүү) 10 ГБ DDR4 480 ГБ SSD 1 Гбит/с 19 доллардан же серверди кантип бөлүшүү керектиги жөнүндө бардык чындык? (RAID1 жана RAID10 менен жеткиликтүү, 24 өзөккө чейин жана 40 ГБ DDR4 чейин).

Dell R730xd Амстердамдагы Equinix Tier IV маалымат борборунда 2 эсе арзанбы? Бул жерде гана 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 ТВ 199 доллардан баштап Нидерландыда! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - 99 доллардан! Жөнүндө окуу Инфраструктураны кантип куруу керек. бир тыйынга 730 евро турган Dell R5xd E2650-4 v9000 серверлерин колдонуу менен класс?

Source: www.habr.com

Комментарий кошуу