{"id":1882,"date":"2017-09-30T15:10:53","date_gmt":"2017-09-30T12:10:53","guid":{"rendered":"http:\/\/blog.profelis.com.tr\/?p=1882"},"modified":"2024-04-16T22:00:15","modified_gmt":"2024-04-16T19:00:15","slug":"citus-gercek-zamanli-yatay-buyuyebilen-postgresql-veri-hatti","status":"publish","type":"post","link":"https:\/\/profelis.com.tr\/en\/2017\/09\/30\/citus-gercek-zamanli-yatay-buyuyebilen-postgresql-veri-hatti\/","title":{"rendered":"Citus: Ger\u00e7ek Zamanl\u0131, Yatay B\u00fcy\u00fcyebilen PostgreSQL Veri Hatt\u0131"},"content":{"rendered":"<h2>Citus: Ger\u00e7ek Zamanl\u0131, Yatay B\u00fcy\u00fcyebilen PostgreSQL Veri Hatt\u0131<\/h2>\n<p>NoSQL ve mikro servisler her ne kadar yayg\u0131nla\u015fm\u0131\u015f olsa da, kurumsal kullan\u0131m ve \u00e7\u00f6z\u00fcmlerin alt\u0131nda iyi bir\u00a0ili\u015fkisel veritaban\u0131 aran\u0131yor. En h\u0131zl\u0131 b\u00fcy\u00fcyen sekt\u00f6r olarak Online Business veya elektronik ticaret \u015firketleri yeni teknolojileri h\u0131zl\u0131 bir \u015fekilde adapte etmekte. Di\u011fer taraftan, d\u00fcnyan\u0131n di\u011fer yar\u0131s\u0131nda ve elektronik ticaretin temel i\u015f y\u00fck\u00fcn\u00fcn \u00e7al\u0131\u015ft\u0131\u011f\u0131 \u00e7ekirdekte her zaman ili\u015fkisel veritaban\u0131 servislerini g\u00f6r\u00fcyoruz.<\/p>\n<p>\u0130li\u015fkisel veritabanlar\u0131 i\u00e7in ise h\u0131zl\u0131 \u015fekilde b\u00fcy\u00fcyebilme, ger\u00e7ek zamanl\u0131 analitik bilgi toplayabilme, paralel sorgular, da\u011f\u0131t\u0131k yap\u0131lanma konular\u0131 en pop\u00fcler konular. \u0130\u015fletim sistemi seviyesinde k\u00fcmeleme \u00fczerinde \u00e7al\u0131\u015fan ve sadece dikey b\u00fcy\u00fcmeye m\u00fcsait veritaban\u0131 yap\u0131lar\u0131ndan bahsetmiyoruz. H\u0131zl\u0131 b\u00fcy\u00fcyen i\u015f ihtiya\u00e7lar\u0131n\u0131, i\u015flem (transaction) say\u0131lar\u0131n\u0131 kald\u0131rabilecek \u015fekilde yatayda b\u00fcy\u00fcyebilecek, gerekti\u011finde k\u00fc\u00e7\u00fclebilecek, esnek, bug\u00fcne de\u011fil yar\u0131na hatta \u00e7ok daha uzun vadeye g\u00f6re planlanan i\u015f ortamlar\u0131ndan bahsediyoruz.<\/p>\n<p><strong>Citus<\/strong> i\u015fte tam da bu ihtiyac\u0131 kar\u015f\u0131lamak \u00fczere geli\u015ftirilmi\u015f bir PostgreSQL eklentisi. Yatayda PostgreSQL veritabanlar\u0131n\u0131 birden fazla sistem \u00fczerine sharding ve replikasyon kullanarak &#8220;<em>yayan<\/em>&#8220;, \u00f6zel sorgu motoru sayesinde kendisine gelen sorgular\u0131 paralel s\u00fcre\u00e7ler halinde bu sistemler \u00fczerinde \u00e7al\u0131\u015ft\u0131r\u0131p b\u00fcy\u00fck veri setleri \u00fczerinden ger\u00e7ek zamanl\u0131 (1 saniyeden az) cevaplar al\u0131nmas\u0131n\u0131 sa\u011flayan bir yap\u0131.<\/p>\n<p>Eklenti olarak geli\u015ftirilmi\u015f olmas\u0131, mevcut PostgreSQL s\u00fcr\u00fcm\u00fcn\u00fcz\u00fc de\u011fi\u015ftirmeye ihtiya\u00e7 duymayaca\u011f\u0131n\u0131z, hatta yeni s\u00fcr\u00fcmleri y\u00fcklemeye devam ederek gelen yeniliklerden faydalanmaya devam edebilece\u011finiz anlam\u0131na geliyor. Citus s\u00fcrekli olarak gelen yeni s\u00fcr\u00fcmleri destekliyor.<\/p>\n<h2>Ne zaman kullanmal\u0131?<\/h2>\n<p>Genelde iki farkl\u0131 yap\u0131da kullanmak m\u00fcmk\u00fcn: B2B gibi birden fazla u\u00e7 noktadan gelen farkl\u0131 sorgu kaynaklar\u0131n\u0131n cevaplar\u0131n\u0131 kar\u015f\u0131lamak i\u00e7in yatay b\u00fcy\u00fcmenin zorunlu oldu\u011fu i\u015f ortamlar\u0131nda veda\u011f\u0131t\u0131k kaynaklardan ger\u00e7ek zamanl\u0131 analitik bilgi toplama, g\u00f6sterme ve eylem alman\u0131n gerekli oldu\u011fu durumlarda.<\/p>\n<p>\u00d6rnek olarak, \u00e7oklu elektronik ma\u011faza a\u00e7\u0131labilen, \u00fclkemizde de \u00f6rnekleri h\u0131zla yayg\u0131nla\u015fan B2B2C gibi al\u0131\u015fveri\u015f sistemlerinde, elektronik AVM&#8217;lerde, \u00f6deme sistemi alt yap\u0131s\u0131 sunan hizmet sa\u011flay\u0131c\u0131lar\u0131nda, yani birden fazla i\u015f ucunun farkl\u0131 veritabanlar\u0131n\u0131n veya izole veri haznelerinin oldu\u011fu ortamlarda kullanmak \u00e7ok mant\u0131kl\u0131d\u0131r. 100.00&#8217;den hatta 100.0000&#8217;den fazla ma\u011faza sahibine ayn\u0131 anda hizmet vermeye ihtiyac\u0131n\u0131z varsa, her ma\u011fazan\u0131n kendisine ait izole verisinin oldu\u011fu, en k\u00fc\u00e7\u00fc\u011f\u00fcnden en b\u00fcy\u00fc\u011f\u00fcne kadar ayn\u0131 performans garantisini sunmak istendi\u011finde, ve temel i\u015f modelinin i\u00e7inde veri dublikasyonunu \u00f6nlemek \u00fczere ortak veya referans tablolar kullan\u0131l\u0131yorsa Citus ideal bir yap\u0131. Zira kiralad\u0131\u011f\u0131n\u0131z d\u00fckkanlara ait verileri birden fazla sunucu sistem \u00fczerine da\u011f\u0131tarak, bir yandan ayn\u0131 veritaban\u0131 \u015femas\u0131n\u0131 kullanmaya devam ederken, ihtiyaca g\u00f6re yeni sistemler, veya i\u015flemci bellek ekleyerek h\u0131zl\u0131 b\u00fcy\u00fcmeye olanak sa\u011fl\u0131yor. Ayn\u0131 veritaban\u0131 \u015femas\u0131n\u0131 birden fazla makina \u00fczerinde da\u011f\u0131tman\u0131n yan\u0131 s\u0131ra, ayn\u0131 merkezden bu yap\u0131y\u0131 y\u00f6netmeye, yedeklemeye, eri\u015filebilir k\u0131lmaya y\u00f6nelik ihtiya\u00e7lar\u0131n karma\u015f\u0131kl\u0131\u011f\u0131n\u0131 da \u00f6nl\u00fcyor.<\/p>\n<p>Di\u011fer taraftan, binlerce farkl\u0131 kaynaktan veri toplad\u0131\u011f\u0131n\u0131z da\u011f\u0131t\u0131k \u00f6l\u00e7\u00fcm sistemini y\u00f6netiyorsunuz diyelim, bu sistemler \u00fczerinde paralel \u00e7al\u0131\u015fan sorgular ile toplama (aggregate) sorgular\u0131n\u0131n cevaplar\u0131n\u0131 saniyenin onda birinde al\u0131p ekrana yans\u0131tmak, zaman serilerine ba\u011flamak ve tarihsel b\u00fcy\u00fck veri setleri olu\u015fturmak istedi\u011finizde Citus ihtyac\u0131 kolayca giderebiliyor.<\/p>\n<p>Referans tablolar genellikle ortak kullan\u0131lan k\u00fc\u00e7\u00fck boyutlu, join sorgular\u0131nda referans olarak kullan\u0131lan tablolar iken, da\u011f\u0131t\u0131k tablolar ise b\u00fcy\u00fck veri saklayan veya kirac\u0131dan kirac\u0131ya de\u011fi\u015fen izole tablolard\u0131r. Referans ve da\u011f\u0131t\u0131k tablolar aras\u0131nda join sorgu kullanmak m\u00fcmk\u00fcnd\u00fcr.<\/p>\n<h2>Ne zaman kullanmamal\u0131?<\/h2>\n<p>\u0130stemci ile veritaban\u0131 sistemi aras\u0131nda b\u00fcy\u00fck veri transferi gerektiren, sorgu sonu\u00e7lar\u0131n\u0131n b\u00fcy\u00fck veri setlerini i\u00e7erdi\u011fi durumlarda kullan\u0131lmamal\u0131.<\/p>\n<ul>\n<li>Uzun s\u00fcren sorgular i\u00e7eren geleneksel i\u015f ortamlar\u0131nda,<\/li>\n<li>S\u00fcrekli de\u011fi\u015fen sorgular i\u00e7eren veya uzun ve b\u00fcy\u00fck veri getiren raporlama sistemlerinde,<\/li>\n<li>Toplam, sonu\u00e7 veya k\u0131sa set d\u0131\u015f\u0131nda b\u00fcy\u00fck veri sonucu d\u00f6nen ETL ortamlar\u0131nda,<\/li>\n<\/ul>\n<p>Citus a\u00e7\u0131k kaynakl\u0131 \u00f6zg\u00fcr bir yaz\u0131l\u0131md\u0131r. Kurumsal \u00f6zelliklerle desteklenmi\u015f, bak\u0131m destek alabilece\u011finiz bir kurumsal s\u00fcr\u00fcm\u00fcn\u00fcn yan\u0131 s\u0131ra ayr\u0131ca bir de a\u00e7\u0131k kaynakl\u0131 s\u00fcr\u00fcm\u00fc mevcuttur. Citusdata firmas\u0131 taraf\u0131ndan SaaS platformu ile pazarlanan \u00fcr\u00fcn\u00fcn a\u00e7\u0131k kaynakl\u0131 s\u00fcr\u00fcm\u00fcn\u00fc <a href=\"https:\/\/www.citusdata.com\/download\/\" target=\"_blank\" rel=\"noopener\">indirip kullanabilirsiniz<\/a>.<\/p>\n<p>Kaynaklar:<\/p>\n<ul>\n<li>Citus Belgeleri: <a href=\"https:\/\/docs.citusdata.com\/en\/v7.0\/index.html\" target=\"_blank\" rel=\"noopener\">https:\/\/docs.citusdata.com\/en\/v7.0\/index.html<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Yatayda PostgreSQL veritabanlar\u0131n\u0131 birden fazla sistem \u00fczerine sharding ve replikasyon kullanarak &#8220;yayan&#8221;, \u00f6zel sorgu motoru sayesinde kendisine gelen sorgular\u0131 paralel s\u00fcre\u00e7ler halinde bu sistemler \u00fczerinde \u00e7al\u0131\u015ft\u0131r\u0131p b\u00fcy\u00fck veri setleri \u00fczerinden ger\u00e7ek zamanl\u0131 (1 saniyeden az) cevaplar al\u0131nmas\u0131n\u0131 sa\u011flayan bir yap\u0131.<\/p>","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[75,45],"tags":[48,60],"class_list":["post-1882","post","type-post","status-publish","format-standard","hentry","category-postgresql","category-yazi","tag-enterprisedb","tag-postgresql"],"_links":{"self":[{"href":"https:\/\/profelis.com.tr\/en\/wp-json\/wp\/v2\/posts\/1882","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/profelis.com.tr\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/profelis.com.tr\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/profelis.com.tr\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/profelis.com.tr\/en\/wp-json\/wp\/v2\/comments?post=1882"}],"version-history":[{"count":0,"href":"https:\/\/profelis.com.tr\/en\/wp-json\/wp\/v2\/posts\/1882\/revisions"}],"wp:attachment":[{"href":"https:\/\/profelis.com.tr\/en\/wp-json\/wp\/v2\/media?parent=1882"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/profelis.com.tr\/en\/wp-json\/wp\/v2\/categories?post=1882"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/profelis.com.tr\/en\/wp-json\/wp\/v2\/tags?post=1882"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}