blog-post1

BÜYÜK VERI ILE YENI TRENDLER

Sevgili dostlarım , bugün büyük veri’nin önemini anlamayan şirketlerin çok yakın bir zaman içerisinde bulundukları konumları kaybedeceklerini düşünüyorum. Bir çok yazımda belirtiğim gibi büyük veri illaki şu kadar TB bu kadar PB demek değil. Sizin ulaşabileceğiniz toplayabileceğiniz verileri daha doğru analiz etmek bunları çöp veri veya incelenmeyen veriden kurtarmak bizim firmalara sağladığımız en önemli katkıların başında geliyor.

Hangi sektör olursa olsun eskiden masraf çıkartan IT den bugün firmanın daha güçlü olmasını sağlayan digital süreçe geçmiş bulunuyoruz.

Biraz öncede bahsettiğim gibi gelecekte ne iş yaparsanız yapın firmanızın daha güçlü var olması digital olmaktan geçiyor. 

Birçok araştırmada yapay zeka ve büyük veriye önem veren şirket sayının arttığını görüyoruz. ülkemizde de bu alanda son derece güzel çalışmalar yapan arkadaşlarımla devamlı bir araya geliyor , elimden geldiğince destek olmaya çalışıyor ve yaptıkları sonuçlardan mutluluk duyuyorum.

Önümüzdeki dönemde hiç süphesiz IOT (internet of things) en önemli çalışma alanlarımızdan bir tanesi olacak. Büyük veri platformu ile beraber özellikle edge tarafında gelişen ürünler sayesinde artık her cihazdan veri alabilir bunları akıllı bir şekilde analiz edebilir durumdayız. Nesnelerin interneti olarak bugün her cihaz , birbiri ile ve merkezdeki platform ile iletişim halinde . İletişim halinde olması bize çok daha akıllı bir fabrika  , çok daha iyi bir sağlık sistemi , akıllı evler , akıllı bankalar , akıllı logistic şirketleri , akıllı cihazlar gibi bir çok avantajı çok düşük maliyetlerle sağlar durumda.

Bir diğer önemli başlık süphesiz Open Source teknolojiler. Başta Hadoop , Spark ,Nifi ,Kafka olmak üzere open source teknolojiler şirketlerin hayatında vazgeçilmez avantajları sunmaya devam ediyor. Open source teknolojilerin bir çok önemli avantajı var. Open source olması daha kötü olması , desteğinin olmaması gibi algılanmamalı. Tam tersine aslında günümüz dünyasının tamamı ile ihtiyaçlarından ortaya çıkmış ve  bu teknolojiyi üretenler dünyanın devlerinden olan şirketler. Büyük veri ile Open source teknolojiler her gün daha ileri gidecekler.

Makina öğrenmesi ve Yapay zeka. Bir çok şirketin bu alanda yatırıma başladığını , yapay zekanın sadece robotlardan ibaret olmadığını iyi anlamak lazım. Makina öğrenmesi bildiğiniz gibi AI in bir kolu diyebiliriz. Deep Learning ve Big data bu alanın gelişmesinde bayraktar olacak. Hadoop 3 ten itibaren GPU artık bir özellik olarak platformun içinde yer alıyor.

Predictive Analytics. Bu konu her geçen gün önemini artırıyor geleceğe yönelik tahminler ve prescriptive analytics . Klasik veri ambarları ile bugüne kadar descriptive ve diagnostic analitikleri yaptık. Günümüzde her şirket bunları yapıyor diye düşünüyorum. Fark yaratmak isteyen şirketlerin predictive ve prescriptive analitikler yapması gerektiği ve bu analitikleri yapmak için sadece relational databaselerin yeterli olmayacağı çok net. Büyük veri ile beraber bu konuda çok başarılı bir çok projede çok sonuçlar alıyoruz.

Cybersecurity . Güvenlik her zaman olduğundan günümüzde daha önemli. Çok daha zorlu ataklar ile karşı karşıyayız. Bu konuda büyük veri bize çok yardımcı oluyor. Digital dünyanın büyük veri ürettiğini ve security ekiplerin doğru sonuç bulabilmesi için bu verileri doğru process edebilmesi son derece önemli. Piyasada varolan security toolar çok önemli başarılar kazansada bu toollar data centerların içine kuruluyor . Günümüzde saldırı her yerden gelebiliyor. Bu saldırıların %80den fazla dakika içerisinde gerçekleşiyor. Aylarca dikkat çekmeden aylarca içeride yaşayabildiklerini biliyoruz. Cybersecurity alanında data arşiv Data keşfetme ve predictive analitik çözümlerden oluşan bir 360 ihtiyac oldugunu düşünüyoruz. Bu konuda büyük veri platformumuz içerisin Open source olarak kullandığımız Metron sayesinde çok başarılı sonuçlar alıyoruz.

Streaming işleri. Benim en önem verdiğim konuların başında geliyor. T-1 den yaptığımız hatta yapamadığımız analizlere ek olarak anında  analiz yapmak artık son mümkün. Streaming projeleri günümüzde en önem verdiğimiz alanlar ve bu projelerde sadece Anında veriyi yakalamak değil devamında onu input olarak kullanıp machine learning ile birleştirmeye , farklı aletler üretmeye ve harika dashboardlar yapmaya kadar sonuçlar ortaya çıkarabiliyoruz.

Sevgili dostlarım bu trendlerin bazıları çok yeni olmayabilir ama her biri kendi içerisinde de yenilikler barındırıyor.  Örnek vermek gerekirse ML yıllardır var ama artık saniyeler içerisinde büyük veri ile beraber çalışabilecek güce sahibiz.

Kendime göre ön plana çıkan bazı başlıkları ele aldım. 23 Ekimde Big Talk 3 etkinliğimizde bu konuları beraber ele almaya çalışacağımızın bilgisini sizlerle paylaşmak istiyorum. Yine Ücretsiz ve herkese açık bir etkinlik organize etmeye çalışacağız.

Saygılarımla.

hdp3

YENI HADOOP 3.1 VE HORTONWORKS DATA PLATFORM 3.0 ÖNEMLI ÖZELLIKLER

Merhaba Arkadaşlar,

Geçtiğimiz aylarda karşımıza çıkan yeni hadoop 3.1 ve Hortownorks 3.0 data platformunu bir kaç projede kullandıktan sonra kendime göre öenmli özellikleri sizlerle paylaşmak istedim.

Öncelikle Platformun ana odak noktaları Faster-Smarter ve Hybrid. Bunların dışındaki odaklarımız ise her zaman oldugu gibi büyük veri , Real-time database ,Security ve Governance.

Önümüzdeki yıllarda hedeflerimizin  Büyük veri ,IOT ,Streaming , Data science olacağını net bir şekilde görüyoruz bu izlenimi Hortonworks tarafında da bu şekilde olduğu net bir şekilde gözüküyor.

Data platformun çok daha agile olması Containerized Micro-Services sayesinde operational data store , data science , EDW , security ve governance özellikleri olmalı.

Deep learning & GPU desteği ve kullanımı deep learning frameworkleri Tensorflow ve Caffe başta olmak üzere Gpu pooling ve Isolation yapacak şekilde konumlanıyor.

Çok daha iyi security ve Governance barındıran Data swamplardan Data Lake geçiş yine önemli başlıklardan

Real Time EDW başlığında ise Bir SQL katmanı sayesinde Geçmiş ve anlık verilere ulaşmak çok önemli ve tabiki Hadoop Ecosystemi.

HDP3

Gelelim biraz daha detaylara

Faster Time to Deployment— Containerization.

-Çok daha esnek bir veri mimarisi

-Çok daha hızlı ,çevik ve esnek bir veri işleme

-Developerlar için hızlı veri uygulamalarını oluşturabilme

-Applicationların , deployment  ortamlarında hızlı, güvenilir ve tutarlı bir şekilde dağıtılması

GPU Desteği

Gpu desteği bizim için DL/ML uygulamalarının performansı için son derece önemli bir yer tutuyor.

Veri bilimcilerin günler ve aylar sürebilecek işleri saatler ve dakikalara indirmesini sağlayacak güçlü mimari

Spark ve TensorFlow beraber çalışması , tensorflow Yarn entegrasyonu.

Sadece on premise HDFS değil de ADLS (azure Data lake storage) , Windows Azure Storage BLOB(WASB) , Amazon S3 , Google Cloud storage kullanabilme. Cloud agnostic bir mimariye sahip olma.

Binlerce Nodenun beraber daha iyi bir şekilde çalışmasını sağlayan NameNode federation özellikleri.

Erasure Coding özelliği sayesinde TCO maliyetleri azaltma.

Real Time Database özelliği

Real time ve historical datayı SQL analitikleri ile kolaylıkla kullanabilme.

Materialized View özellikleri.

Hive query optimizer sayesinde otomatik olarak materialized viewsların ayaga kaldırılması ve hızlanan sorgular.

Workload management ve Default gelen ACID.

Yeni real time Database özellikleri sayesinde çok daha kolay Streaming datasını real time analiz ediyoruz.

Auditten Time-based policilere Tag propagation kadar Güvenlik ve governance özellikleri , harika entegre bir ranger.

Ve tabiki Ambari 2.7 . Bambaşka bir interface . Bence çok daha güzel olmuş . İlk bir iki saatten sonra alışılan ve gerek görsel gerek kullanım olarak daha iyi olulşturulmuş bir ambari yönetim birimi.

Kısacası Hive 3.0 , Compute&GPU platform Yarn in Apache Hadoop 3.1 , Hbase 2.0 , Druid , Spark 2.3 , Atlas 1.0 , Ranger 1.0 , Knox 1.0 , Ambari 2.7 ve HDFS on Hadoop 3.1 en önemli ürünler olarak ortaya çıkıyor.

Büyük veri platformu tercihi konusunda gerek Hortonworks gerek Cloudera ve Mapr arasında benim tercihim Hortonworks oldu. Ben Yeşil Filleri seviyorum. Bu konuda benim tercihimi %100 Open Source olma 1300 üzerinde enterprise müşteri geçtiğimiz sene ABD de en hızlı büyüyen şirketlerden olma ve tabiki data in motion & Data at rest bağlantısı var.

Bir sonraki yazımda ön plana çıkan özellikler ile iligili tek tek detaylar ve örnekler paylaşacağım. Bu konularla ilgilenen şirketlerdeki uzman arkadaşlarım benimle temasa geçebilirsiniz. Şirketinizde sizle daha fazla bilgi paylaşmamız mümkün olabilir.

Üniversitelerdeki arkadaşlarımda takvimim el verdiği fırsatlarda seminerlerde bulusabiliriz

Selamlar.

datalake

DATA LAKE NEDIR ?

Data Lake , Tek store da structure , semi-structure veya raw dataların tutulması ve raporlama , analitik , görselleştirme gibi çeşitli görevler için kullanmasıdır. Aslında Data Lake bir bir teknoloji önermez, yalnızca gereksinimler. Data Lakes genellikle Hadoop’la ele alınabilir ama aslında Hadoop, NoSQL, S3, RDBMS veya bunların kombinasyonları gibi çoklu teknolojiler üzerine kurulabilir

Screen Shot 2018-02-14 at 15.27.51

Data lakes can be based on HDFS, but are not limited to that environment; for example, object stores such as Amazon Simple Storage Service (S3)/Microsoft Azure or NoSQL DBMSs like HBase or Cassandra can also be environments for data lakes.” — Gartner

Gartnerın yukarıdaki tanımlaması günümüzde dahada gelişti diyebiliriz.

Günümüzde Data Lake ‘in

Bazı ana design kuralları vardır.

Öncelikle Data ingestion sistemi otomatikleştirilmeli ve güvenilir olmalıdır.

Tüm filelar içine çekilebilmelidir.

Bu ingest işlemi en günlük sıklıkta olmalıdır.

Orjinal formda saklanan veriler olmalıdır.

Governance ve  güvenlik agile ile dengelenmelidir.

Düşük maliyetli teknolojilerle sağlanmalıdır.

Peki firmalar Data Lake neden ihtiyaç duyarlar?

Birçok farklı ve önemli başlığı var aslında ama bunlardan bazıları yazmak gerekirse

Çoğu zaman  çok büyük, çok küçük, çok hızlı, çok yavaş, bozuk, yanlış veya yanlış biçimde veri alabiliriz.

Bugün kurumların öncelikleri hızla değişiyor yeni flowlar oluşturma mevcut olanları değiştirme hızlı olmalıdır.

Protokol ve formatlar her zaman değişebilirler. Dataflow ,esas itibariyle birlikte çalışmak için gevşek olan veya olmayan bileşenlerden oluşan bir sistemi birleştirmek için kullanılır.

Kanunlar, düzenlemeler ve policyler  değişir. İşletmeler arası anlaşmalar değişir. Sistemden sisteme ve sistemle kullanıcı arasındaki etkileşimler güvenli, güvenilir ve hesap verebilir olmalıdır.

DATA Lake sayesinde yeni firsatlar nelerdir?

  • Data önceden kullanılmayan , imkansız görünen  farklı kaynaklardaki verileri eklemek , Farklı büyüklükteki veri setlerini önceden toplama / işleme koyma. Büyük volumelerde ve geçmişteki datayla analitik çalışabilme
  • Veri bilimi oluşması ve iyileştirilmesi. Predictive analitik ve machine learning işlemlerinin kolaylaştırılması.
  • Ve tabiki maliyetler. Operasyonel ve analitik sistemlerin offloading i
    Uzun vadeli saklama için geçmiş verilerini arşivleme
    Düşük maliyetli temizlik, validation  ve profil oluşturma

Bir Data Lake projesi muhtemelen birkaç milyon dolarlık bir yatırım olacaktır. Kurumlarda başarılı bir Data Lake programı oluşturmak için yeterli tecrübeye sahip uzman sayısının az olmasıda bunda etkendir.

Tabi birde günün sonunda bu Data Lake ‘i business userlarının kolay kullanacağı bir hale getirmek var. Günümüzde IT mutlaka Spark ,Kafka , Hadoop Nifi öğrenmelidir. Ancak bu teknolojilerin çok kolay olduğunu tam doğru olmaz. Doğru design edilmiş Data lake çözümünde kolay monitor edilen data pipelines ve data profiling ve discover aşamaları olmalıdır.

Bu konunun ana başlıklarına baktığımızda Hadoop Ortamına ek olarak

Kylo Data Lake sofware platformu ile

Screen Shot 2018-02-14 at 15.04.34
Screen Shot 2018-02-14 at 15.22.17

Bu konuda detay bilgi istiyorsanız bana ulaşabilirsiniz . Her zaman destek olmak isterim.

Saygılar.

presto-screenshot

PRESTO NEDIR? FACEBOOK , NETFLIX NEDEN PRESTOYU TERCIH EDIYOR

presto-screenshot

Arkadaşlar Merhaba

Bugün size Big data Teknolojileri üzerinde Processing tarafındaki çok önemli bir teknolojiden bahsedeceğim. Daha önceki yazılarımda Hive ve Spark tan bu alanda bahsetmiştim.

Hive Analytics tarafında , Pig ETL tarafında , Spark Real Time Analytics , Machine Learning , streaming tarafında çok önemli oyuncular.

Presto is Interactive Data&Ad/hoc anlamında ön plana çıkıyor.  Prestoda %100 open source , Facebook tarafından geliştirilmiş bir distributed sql  query engine diyebiliriz. Prestonun gigabyte tan petabytelarca seviyeye kadar inanılmaz başarılı çalıştığını görüyoruz. Prestonun bir önemli özelliğide cross platform query yapabilmesi bu özelliği sayesinde sadece Hadoop ortamı değil örneğin mysql ,teradata,cassandra , oracle , kafka ve mongodb gibi. Tek Presto Query si ile bu farklı sourceları process edebiliyorsunuz. Data exploration tarafında da çok güçlü bir ürün.

Hive metastore u ile entegre  Ansi SQL sayesinde çok kolay ve özellikle group by gibi , join+group by gibi querylerde hive a göre daha iyi kaldığını görüyoruz. Dim fact joinlerde yine Prestonun çok başarılı olduğunu görüyoruz. Vertica ya çok ciddi alternatif olarakda düşünebiliriz. Yanılmıyorsam Uber , interactive query tarafında verticadan migrate etti ve inanılmaz memnun kaldığını dile getiriyor. Netflix kendi use case inde günde 3500 queryin yaklaşık %90 dan fazlasında 1 dakikanın altında sonuç aldığını görüyoruz.

Prestoyu facebook nasıl kullanıyor derseniz , facebook prestoyu warehouse tarafındaki ad-hoc/interactive querylerde yine warehouse tarafındaki batch processlerde kullanıyorlar. Tabi birde concurrent querylerde yarattığı büyük avantajdan bahsetmek lazım.

Prestonun production tarafındaki çıktılarına baktığımızda Facebooktaki 100 den fazla nodes 300 PB data 1000 üzerinde internal active users ve 10 ile 100 arası concurrent queryler görüyoruz.

Prestonun dünyadaki başlıca kullanıcıları arasında Facebook , Netflix,airbnb ,dropbox , uber , linkedin , twitter olduğunu söylemek lazım. Bu kullanıcılar aynı zamanda contributer.

Hive connectoru  Text, SequenceFile, RCFile, ORC ve Parquet formatları desteklemesi bizim açımızdan büyük avantaj oluşturuyor.

Tek Prosto querysi ile hive ile Mysql database nasil join edebilirim?

MYSQL database Users tablomuz olsun

Hive da Stream isminde tablomuz olsun.

prestoya bağlanalım.

$ ./presto –server localhost:8080

presto:default> SELECT u.country, COUNT(*) AS cnt
-> FROM hive.stream s
-> JOIN mysql.user u
-> ON s.userid = u.userid
-> GROUP BY u.country
-> ORDER BY cnt DESC
-> LIMIT 3;
country | cnt
—————-+———
United States | 7321348
Germany | 4986544
Turkey| 2233434

Selamlar

Hive-Impala-Blog_1

YENI NESIL DATAWAREHOUSE . APACHE HIVE LLAP ILE ÇOK DAHA HIZLI INTERACTIVE QUERY , IMPALA MI HIVE MI?

Merhaba arkadaşlar.

Hadoop platformu içerisinde çıktığı ilk günden bu yana en önemli servislerden biri Hive dersek yanılmamış oluruz. Hive bugune kadar bir çok şirkette modern Datawarehouse yapılanmasında inanılmaz avantajlar sundu. Kimi zaman performans sorunları ile eleştiriler olsada Hive ‘ın tune edilebileceğini ve bu tuning işleminin inanılmaz önemli farklar yarattıgını söylemek lazım. Türkiye’de TBlarca veriyi hive 2 ve LLap ile gayet efektif bir şekilde çalıştığımızı söylemek istiyorum.

Hortonwork HDP 2.6 en önemli özelliklerinden bir tanesi Apache hive ile LLAP. TPC-DS raporlarında da açık bir şekilde sonuçlarını gördüğümüz bu sonuçları sizlerle paylaşmak istedim.

İlk sonuç HDP 2.5 ile HDP 2.6 karsılaştırması

Hive-Impala-Blog_1

Düşük olan sonuçlar daha iyi demek. Rapor sonucunda HDP 2.6 5155 saniyede HDP 2.5 ise 14983 saniyede onlarca queryden oluşan seti çalıştırmış. nerdeyse her türlü queryde hdp 2.6 daha başarılı kalmış. Bazı sorgularda 5 katından fazla hızlı kalmış. HDP 2.6 with LLAP ile ciddi bu avantaja aşagıdaki özellikler sayesinde ulaştığını söyleyebiliriz.

Hive-Impala-Blog-2B

Gelelim Meshur HİVE & IMPALA karşılaştırmasına. Bir çok ortamda impalanın hivedan daha hızlı olduğuna dair bazı şehir efsaneleri duyuyoruz.  Aşağıda göreceğiniz TPC-DS raporunda kafa kafaya hatta bir çok sorguda Hive LLAP ile impaladan iyi olduğunu görüyoruz.

Hive-Impala-Blog-3

Cloudera 5.12 ile Hortonworks 2.6 platformlarında yapılan testlere göre çıkan sonuçlarda 60 tane query her iki ortamlarda çalıştırılmış ve tek tek sonuçlar açıklanmış.

Hive-Impala-Blog-4-1

Toplam Runtimede Hortonworks’un 11.217 saniyesine Cloudera 12.149 saniye ile karşılık vermiş. Az olanın daha hızlı olduğunu söylemek lazım. Bir başka önemli konu ise Impalanın SQL GAPleri

Hive-Impala-Blog-5.png

Yapılan bu testlerde kullanılan donanımlara bakarsak her iki platforda aynı donanımda olmak kaydı ile Hortonworks ORC file ile Cloudera Parquet ile konfigure olmuş durumda. Sonuç mu bence galip OPEN SOURCE 🙂 Hive konusunda sizde  Geisinger Health System gibi yapabilirsiniz. Healthcare tarafında data ve analytics tarafında lider olan bu şirkette son 1.5 senede EDW tarafında hive kullanan bu şirket nisan 2017den beri Hive 2.0 with lldp kullanıyor. 9000 den fazla büyük tablo 600 Tbdan fazla bir data üzerinde aldıkları sonuçlar aşağıda görebilirsiniz. 7-8 saatlik data yükleme işleminin HDP yle beraber 2.5 saate düşmüş.

Teradataya göre çok daha iyi sonuçları elde etmişler. Maliyet tarafında da ciddi avantajlarla beraber.

LLAP-Statistics-V2

9 WORKER NODES, EACH WITH:

  • 256 GB RAM
  • Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz
  • 2x HGST HUS726060AL4210 A7J0 disks for HDFS and YARN storage
  • Cisco VIC 1227 10 Gigabit Network Connection

HDP 2.6 SOFTWARE CONFIGURATION

  • Ambari-managed HDP 2.6.2 stack
  • Hive version = 2.1.0.2.6.2.4-4
  • Tez version = 0.8.4.2.6.2.4-4
  • LLAP container size: 180GB (per node)
  • LLAP Heap Size: 128GB (per daemon)
  • LLAP Cache Size: 32GB (per daemon)
  • OS Setting: net.core.somaxconn set to 16k, ntpd and nscd running
  • Data: ORCFile format, scale 10,000, with daily partitions on fact tables (load scripts available in the GitHub repository).
  • Note: This HDP build will also be available in Hortonworks Data Cloud for AWS as version 1.16.5 within 7 days from this blog publication.

CDH 5.12 SOFTWARE CONFIGURATION

  • CDH-managed CDH 5.12 stack
  • Impala version = 2.9
  • Impala was given all memory on the worker nodes, using all defaults provided by Cloudera Manager.
  • Data: Parquet format, scale 10,000, with daily partitions on fact tables.

Yazının orjinel kaynagı: hortonworks.com

Arastırma :tpc.org

Ekran Resmi 2017-09-26 18.25.13

AWS SERVISLERI ILE BIG DATA (KINESIS, LAMBDA, ELASTICSEARCH,KIBANA)

Sevgili Dostlarım

Big Data üzerinde bütün Cloud servis sağlıyacalarının sahane çözümleri ile karşı karşıyayız. Bu yazımda Amazon AWS nin bir takım önemli ürünlerinden bahsedeceğim. Bu yazımda AWS servislerinin hepsini ele almam mümkün değil onlar hakkında da yakında açıklamalar yapmaya çalışacağım.

Bir sonraki yazı Google ve Oracle üstüne olacak.  Kendime göre hangi teknolojiyi neden tercih etmemiz gerektiğini irdeleyeceğim.

Amazon Kinesis : Stream , Firehouse ve analytics olmak üzere üç temel özelliği var. Stream başlı başına inanılmaz önemli akan veri işleri yapabileceğimiz bir alan real time yada near real time data üstüne çalışmalar yapabiliriz.

Kinesis Firehouse ile bir delivery stream oluşturuyoruz bu delivery stream in 2 temel seceneği var 1. kinesis stream  1.direk put veya other sourcelar. Kayıtları direk olarak delivery systeme gelecekse veya Logs , events IOT gib şecenekler olabilir.

Kinesis Firehouseun en büyük özelliklerinden biri gelen source recordları Aws Lambda functionı ile transformasyona tabi tutabilme özelliğidir. Lambda ile hazır veya bizim yazabileceğimiz dil olarak javadan C# node.js python kadar yazabilceğimiz bir çok seçenek var.

Ekran Resmi 2017-09-26 18.25.13

Lambdadan sonra bir başka önemli servisde Elasticsearch. Elastic search servisi ile log analytics , full text search, application monitoring,clickstream analizi gibi birçok önemli işlem gerçekleştirebiliriz. Kibana ve Logstash ile çok daha iyi bir görsele kavusturabiliriz.

Kibana ile inanılmaz güzel ekran çıktıları almak mümkün

Ekran Resmi 2017-09-26 18.35.55.png

Büyük resim aşağıdaki gibi gerçekleşebilir.

Ekran Resmi 2017-09-26 18.37.56

Bütün bu servislerle ilgili bir use case konuşmamız gerekirse Log analiz operasyonuna bakabiliriz. Bir log analiz işinin birçok faydası var operational takip, servis hatalarını anlama , near real time insightler , alertlar olabilir. Log datası inanılmaz yogun ve büyük ,hızlı ve birçok lokasyondan gelebilir. Yapısı structure olmayabilir. Bir bakmısız terabytelarca log datamız olmuş olabilir. Gelen log datasını alıp birçok alanı sadeleştirip içinden sadece işimize yarayacak olanı almamız gerekecektir. Hatta sadecelestirdiğimiz data içerisinden de sadece belki bir adresi belki bir problemi bulmamız gerekebilir. İşin sonundada  oluşan problemleri görsel bir şekilde gerekli kişilerin ulaşmasını sağlayacagız.

Hadoop Teknolojilerinde Yukarıda anlattıklarımın mutlaka ki ciddi rakipleri olan çözümler var. Burada şirketinizin ne çabuklukta nasıl bir yatırımla ne güzellikte bir sonuç almanız isteğine göre alternatiflere bakabiliriz.

Bir sonraki yazımda Lambda yerine Google Cloud Fuction , Kinesis yerine Cloud Pub/sub , Redshift yerine BigQuery kullanabilir miyiz ? Hangi tercih daha doğru ? Neden?

PYTHON DILI COLLECTION DATA TYPELARI

Gerek Data Science eğitimlerinde , Yapay zeka çalışmalarında hatta klasik database yönetiminde python dili son derece önemli. Hazır sağladığı paketleri kullanım ve öğrenim kolaylıkları ile beraber en iyi diller arasında sürekli yükselişte.

Python dili ile ilgili birbirine benzeyen ama dikkat edilmesi gereken ufak bir detay paylaşmak istiyorum. Collection data typelarında

List

deneme = [‘guzel’,’iyi’,’super’,’kotu’,’berbat’]

derece = [22, 26, -4, 20, 12, 10, 15, 8, 6, 1] gibi tanımlanabilir.

List Collection için [] kullanıyoruz.

List için multi dimensional bir modelde mumkun yani

points = [[1,-2,5,3],[1,13,-8,6]]

print points[1][2]

> -8

çıktısını alırız.

List Data typeni manupule etmemizde mümkündür.

deneme = [‘guzel’,’iyi’,’super’,’kotu’,’berbat’]

deneme.insert(3,’harika’)

deneme.append(‘superrrr’)

print denim

> deneme = [‘guzel’,’iyi’,’super’,’harika’,’kotu’,’berbat’,’superrrr’]

TUPLES data type farklı bir collection türüdür.

() ile kullanılır başlangıçta oluşturulur ve sonradan değiştirilemez.

weekday = (‘Mon’,’Tue’,’Wed’,’Thu’,’Fri’)

weekend = (‘Sat’,’Sun’)

week = weekend + weekday

for day in week :

print day

>> Sat

Sun

Mon

Tue

Wed

Thu

Fri

week[1] = ‘Sunday’

>TypeError: ‘tuple’ object does not support item assignment şeklinde bir hata mesajı alırız.

Dictionaries ise yine çok önemsediğimiz bir map/hashtabledir. Key Value tutar

personal = {‘Name’:’zekeriya’, ‘Yasi’:42, ‘Boy’: 1.83}

print personal[‘Yasi’]

> 42 döndürür. {} ile kullanılır.

dict() ile kullanım şekli

personal_2 = dict(adi=’Zekeriya’, yasi=42, Boyu=1.83)

print personal == personal_2

>> True

Ekran Resmi 2017-03-30 09.34.15

DATA SCIENTIST NEDIR ? NASIL DATA SCIENTIST OLUNUR ? DATA SCIENTIST OLMAK IÇIN ÖĞRENILMESI GEREKENLER

Ekran Resmi 2017-03-30 09.34.15

Data Scientist Kimdir? Bir kaç farklı tanımı var ama en beğendiğim bir iki tanımlamayı buraya yazmak istedim.

What is Data science? ‘Building software products (aka data products) whose core functionality relies on applying statistical or Machine learning methods to data.’ What is Data scientist? A person who do above

Bir başka önemli Linkedin mensubu Rogati söyle tanımlamış

“They are half Hacker , Half analyst, They Use DATA to build Products  and find insights”.

Peki nedir bu Data Product? yada Software Product Nedir?

En bilinen örnek Google . Yaşınız benimkine yakında Altavistayı hatırlarsınız. Search engine olarak Googledan çok daha önce çıkmıştı ve pazar lideriydi. Google ne yaptı ? Yeni data productlar oluşturdu. Bunun en büyük örneği Pagerank yapısı. Devamında Adwords ve Google Analytics i örnek verebiliriz. Linkedin i bu kadar populer yapanın “People yo may know” demesi ve doğal olarak data product ‘ı olduğunu söyleyebilirim.

Bu örnekler dünya çapında biz bunları nasıl yapalım diyebilirsiniz ama şirketinizde Amazonun yaptığı gibi bir product recommendations yapısı oluşturmak sandığınız kadar zor değil. Veriden şirketinize artı sağlayabilecek bir ürün üretebilmek önemli. Bunu yapabilmek için günümüzde ve gelecekde daha fazla fırsatımız olacak zira her geçen gün daha fazla veri oluşuyor.

Data Scientistleri diğer işlerden ayıran en önemli nokta ise Geleceğe yönelik sorgulama yapabilmesi.  🙂 . Yani bizler yıllardır Database kullanıyoruz . Bu databaselerimizde verilemizi sorguluyoruz. Bu sorgulamalar geçmise yapılan sorgulamalar oysa Data scientistler bu verileri doğru kullanarak geleceğe yönelik tahminler yapabilirler.

Data Scientist olacak bir arkadaşımızın Analitik düşünce yapısında olması, Database bilgisi olması, Matematik ve istatistik bilgisi,temel programcılık bilgisi Teknik ve Business tarafında kolay ve etkili iletişim kurması artı özellikler diyebiliriz.

iş1

Bu tanımların sonunda Data Scientist olmak için neler öğrenmeliyim.

Data Scientist için kendimce öğrenilmesi gereken başlıkları çıkardım Öğrenilmesi gerekenler

1-Bir takım araclar ve diller . Öncelikle SQL ile başlayalım. SQL bilmeyi bu işlerin en üstüne yazmalı diye düşünüyorum. R ve Python öğrenmek. Rstudio ,Zeppelin  iyi toollar. Notebook , Docker üzerinde çalışmak github kullanmayı öğrenmek başlangıç aşamasında önemli

https://www.github.com
https://hub.docker.com/
https://www.rstudio.com/products/rstudio/download/

2-Hadoop a yatkın olacaksınki terabyte – petabyte range inde datalarda çalışabilesin. HDFS temel özellikleri öğrenilmeli. HDFS file sisteme data nasıl atarım veriyi nasıl çekerim gibi temel komutlara çalışmak lazım.

HDFS özelikle batch işlerde artık en önemli platform. Verinin saklanması için tercih edilebilecek en ucuz platform olan bu mimari sayesinde maliyeti son derece düşük serverlardan yatay büyüyebilen Clusterlar oluşturuyoruz. Temeli Google’ın file sistemine dayanıyor ve Hadoop platformu günümüzde en büyük 6 Telco şirketinin 5 inde 7 en büyük bankanın 6 sında tercih edilmiş durumda. Her geçen gün hadoop platformunu tercih eden firma sayısı artıyor. Bizler Spark da kullansak sc.textfile(”) ile verilerimizi bu platformdan direk okuyabiliyoruz. Hadoop platformunu tercih eden ve Türkiye’de de aktif danışmanlığını yaptığım ve / veya eğitimler verdiğim onlarca firma olduğunu söyleyebilirim. Bu konuda Hortonworks ve Cloudera temel platform sağlayıcı şirketler.

3- Sqoopu öğrenilmeli. Apache Sqoop Databaseden Hdfs e ve yine hdfs den database verilerimizi aktarabilir. Örneğin Oracle database imizde duran bir tablomuzu Sqoop sayesinde HDFS platformumuza ve/veya Hive a aktarabiliriz.

https://sqoop.apache.org/

4-Dogru dataya ulaşmak lazım Doğru datanın formatı, quantitysi ve qualitysi çok önemli. Basit bir örnek vermek gerekirse 05-Nisan-2017 ile Nis-05 ,IST istanbul ISTANBUl IStanBUL gibi (bu verileri temizlemek ve düzenli tek formatlar oluşturmak) Bu konulara eğilmek lazım.

5-Hive ve Pig’ı iyi bileceksinki data transformationda zorlanma. Hadoop platformunda belkide ilk öğrenilmesi gereken Hive. Hive konusu aynı SQL gibi herkes kolay yazdığını düşünebilir ama yapısı gereği ciddi tuning ihtiyaçları olan bir mimari.

6-Spark ı iyi öğreneceksin . SPARK ve yine Spark. Alternatif olarak üretilen platformlara rağmen Sparkın vazgeçilmez olduğunu düşünüyorum. Daha önce öğrendiğiniz Pyhton ve R size bu konuda büyük avaentaj sağlayacaktır. ML ve Mllibleri sayesinde Machine Learning tarafında da iddalı olan bu platform son derece önemli bir başlığımız.

7-Datayı doğru analiz etmek için istatiksel methodları ve Machine Learning algoritmalarını iyi öğreneceksin.

Bir iki madde daha ekleyebilirim ama Data science ın tek bir disiplinden olusmadığı açık o yüzden kendini doğru yetiştirmiş Veri bilimcileri IT sektörünün en aranan isimleri olacaklar.

Ekran Resmi 2017-03-30 09.34.15.png

DATA SCIENTIST NASIL OLUNUR? HOW TO BECOME A DATA SCIENTIST? VERİ BİLİMCİ OLMAK IÇIN YAPILMASI GEREKENLER.

Ekran Resmi 2017-03-30 09.34.15.png

Data Scientist olmak için neler yapmalı?

Arkadaşlar bildiğiniz gibi data scientist çağımızın en önemli IT işlerinin başında geliyor. Çoğumuz bu konularda bir dönüşümün içine giriyoruz. Bu dönüşüm ve gelişim süreçini başarı ile atlatmak ve fark yaratmak için yapılması gerekenleri kendime göre özetledim.

1-SQL,Istatistik,matematik ve machine learning konularında kendinizi geliştirerek

2-Python ve R temelleri ve ilgili paketleri kullanmayı öğrenmek

3-Database bilginizi geliştirerek mümkünse NOSQL databaseleri öğrenerek

4-Data munging ve visualtion tarafında yeni nesil toollarla çalışmak

5-Big Data öğrenmek. Hadoop ,Hive Spark ve Flink başta olmak üzere

6-user groupları takip etmek etmek , önemli kişilerle sosyal medya üzerinden ilişkide olmak

ekran-resmi-2017-02-09-11-52-14

NOSQL NEDİR? NOSQL & RDBMS KARŞILAŞTIRMASI

Merhaba arkadaşlar

Öncelikle verileri hangi amaçla kullanacağımıza karar verelim. İki temel kullanım yöntemini inceleyelim.

1-Analitik kullanım

Amaç geleceğe doğru yapacağımız seçimler ise batched olarak gelen veriler , son derece büyük veriler üzerinden yapılan hesaplamaları analitik olarak değerlendirebiliriz.

2-Operasyonel kullanım

Amaç anlık (şuan) ise gerçek zamanlı çalışmalar data flowlar ve datanın process edilmesi ise çok hızlı okumaya ve çok hızlı yazmaya ihtiyacımız var demektir.

Hadoop ne demektir ? Hadoop Batch-oriented analytical database systemi olarak nitelendirilebilir. Analitik kullanım ve büyük miktardaki veri için çok iyi bir sistemdir.

NoSQL ne demektir? Nosql ise Real-time operational database sistemidir. Operasyonel işler ve hız gerektiren işlerde ideal bir sistemdir.

Günümüzde RDBMS sistemlerin Cloud ölçeğinde Milyonlarca concurrent kullanıcı karşısında performansları düşük kalmaktadır. Veri esnekliği bakımından esnek değilllerdir. Bir database modelliğimiz senaryoda bir değişiklik çok zordur.

ekran-resmi-2017-02-09-11-52-14

Resimdende anlaşılacağı gibi RDBMS sistemlerinde kullanıcı sayısı arttıkça sistemin maliyeti inanılmaz artar ancak uygulama performansı bu artışa paralellik gösteremez. Cloud uygulamalarında ise sadece yeni makinalar ekleyerek düşük maliyetle sisteminizin performansını paralel götürebilirsiniz.

Bugun mobile uygulamaların kullanım oranlarını düşündükçe nasıl bir database ile çalışmamız gerektiğini daha doğru anlayabilirsiniz.

RDBMS & NOSQL karşılaştırması

Mimari olarak bakıldığında

RDBMS databaseler DISK first yaklaşımındadır.Yani genellikle mimarileri

Write to disk  —–>>> Log for availability —–>>> Cache index in memory

(okuma yazma işleri diskten)

şeklindedir.

NOSQL databaseler ise Memory first yaklaşımındadır.

CACHE data in memory —–>> replicate for availability —–>> Write to disk

(okuma yazma işleri öncelikle memoryden)

şeklindedir.

RDBMS databaseler 1970 ortaya çıkmış ve Oracle tarafından dünyada ilk ticari database 1979 üretilmiştir. Amacı normalization üstündedir. Temeli OLTP ye dayanır. Select ettiğimizde birçok tabloyu join yapmamız ve bunun neticesinde artan costlar ortaya çıkar.

NOSQL databaseler ise yapısı gereği hızlı ve esnektirler.

NOSQL databaseler RDBMS gibi aynı özellikte değillerdir.

Tercihlerimize göre

KEY-VALUE NOSQL databaseler

Key ve basit valuesunu tutarlar

örnek

Vno::123456 Value:Zekeriya

Document NOSQL databaseler

Key ve Structure değer tutar(document)

VNO::123456 {name:’Zekeriya’,age:42,ceptel:[542777777,53211111,5523333333]}

Column-Family nosql databaseler

key ve  kolon setlerinden  oluşur.

name:text         Zekeriya

age: number    42

VNO:123425                                               54277777777

cep:number        552343535366

52425526277

Graph Nosql Databaseler

Linkedindeki connectionlarınız ,pagerank gibi kullanımlar için .

Sevgili arkadaşlar tahmin ettiğiniz üzere konu son derece detaylı ve önemli. Son yıllarda bir çok projede NOSQL database teknolojisi kullanarak projelerde inanılmaz farklar yarattık. Bu gelişmeleri sizlerle detaylı paylaşabilirim. Siz bu yeni nesil teknolojilerle ilgileniyorsanız kurumunuzda ücretsiz bir seminer düzenleyip

1-Hangi NOSQL database i hangi işlerde tercih etmeliyim

2-Key-Valuede hangi vendorı tercih etmeliyim? Column Familyde hangisini? Documentde hangisini?

3-CAP nedir? Biz nerdeyiz

4-Scale up mı Scale out mu?

5-Static data model mi ? Flex data modelmi?

6-Normalizationmı-De normalizationmı detaylı anlatabilir ve tartışabiliriz.

Selamlar ,Saygılar