{"id":34970,"date":"2025-11-24T08:01:00","date_gmt":"2025-11-24T05:01:00","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/aws-ile-gercek-zamanli-veri-golu-s3-glue-athena-uretimde\/"},"modified":"2025-11-24T08:01:00","modified_gmt":"2025-11-24T05:01:00","slug":"aws-ile-gercek-zamanli-veri-golu-s3-glue-athena-uretimde","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/aws-ile-gercek-zamanli-veri-golu-s3-glue-athena-uretimde\/","title":{"rendered":"AWS ile Ger\u00e7ek Zamanl\u0131 Veri G\u00f6l\u00fc: S3, Glue, Athena \u00dcretimde"},"content":{"rendered":"<p><body><\/p>\n<style>\n  \/* Mobil uyumluluk i\u00e7in temel stiller *\/\n  body {\n    font-family: Arial, sans-serif;\n    line-height: 1.6;\n    margin: 0 auto;\n    max-width: 960px;\n    padding: 20px;\n    color: #333;\n  }\n  h2, h3 {\n    color: #2c3e50;\n    margin-top: 30px;\n    margin-bottom: 15px;\n  }\n  p {\n    margin-bottom: 1em;\n  }\n  code {\n    background-color: #f4f4f4;\n    padding: 2px 4px;\n    border-radius: 4px;\n    font-family: 'Courier New', monospace;\n    font-size: 0.9em;\n  }\n  pre {\n    background-color: #2d2d2d;\n    color: #f8f8f2;\n    padding: 15px;\n    border-radius: 8px;\n    overflow-x: auto;\n    font-family: 'Fira Code', 'Courier New', monospace;\n    font-size: 0.9em;\n    margin-bottom: 20px;\n  }\n  pre code {\n    background-color: transparent;\n    color: inherit;\n    padding: 0;\n  }\n  table {\n    width: 100%;\n    border-collapse: collapse;\n    margin-bottom: 20px;\n  }\n  th, td {\n    border: 1px solid #ddd;\n    padding: 8px;\n    text-align: left;\n  }\n  th {\n    background-color: #f2f2f2;\n    color: #333;\n  }\n  ul, ol {\n    margin-bottom: 20px;\n    padding-left: 20px;\n  }\n  li {\n    margin-bottom: 8px;\n  }\n  .expert-tip {\n    background-color: #e0f7fa; \/* Light cyan *\/\n    border-left: 5px solid #00bcd4; \/* Cyan *\/\n    padding: 15px;\n    margin: 20px 0;\n    border-radius: 5px;\n    font-style: italic;\n    color: #007985;\n  }<\/p>\n<p>  \/* Mobil cihazlar i\u00e7in medya sorgular\u0131 *\/\n  @media (max-width: 768px) {\n    body {\n      padding: 10px;\n    }\n    h2 {\n      font-size: 1.8em;\n    }\n    h3 {\n      font-size: 1.4em;\n    }\n    table {\n      display: block;\n      overflow-x: auto;\n      white-space: nowrap;\n    }\n    table thead, table tbody, table th, table td, table tr {\n      display: block;\n    }\n    table thead tr {\n      position: absolute;\n      top: -9999px;\n      left: -9999px;\n    }\n    table tr {\n      border: 1px solid #ccc;\n      margin-bottom: 10px;\n    }\n    table td {\n      border: none;\n      border-bottom: 1px solid #eee;\n      position: relative;\n      padding-left: 50%;\n      text-align: right;\n    }\n    table td:before {\n      position: absolute;\n      top: 6px;\n      left: 6px;\n      width: 45%;\n      padding-right: 10px;\n      white-space: nowrap;\n      content: attr(data-label);\n      font-weight: bold;\n      text-align: left;\n    }\n  }\n<\/style>\n<p>Devasa veri hacimleriyle ba\u015fa \u00e7\u0131kmak ve anl\u0131k i\u015f kararlar\u0131 alabilmek i\u00e7in geleneksel veri ambarlar\u0131 yetersiz kal\u0131yor. Bu makalede, AWS \u00fczerinde ger\u00e7ek zamanl\u0131 bir veri g\u00f6l\u00fc mimarisini S3, Glue ve Athena kullanarak nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, \u00fcretim ortam\u0131nda ba\u015far\u0131yla nas\u0131l \u00e7al\u0131\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m ke\u015ffedeceksiniz.<\/p>\n<p>Modern i\u015fletmeler, operasyonel sistemlerden, sens\u00f6rlerden, web sitelerinden ve mobil uygulamalardan gelen verilerin muazzam ak\u0131\u015f\u0131yla kar\u015f\u0131 kar\u015f\u0131yad\u0131r. Bu verilerin depolanmas\u0131, i\u015flenmesi ve analiz edilmesi, rekabet avantaj\u0131 elde etmek i\u00e7in kritik \u00f6neme sahiptir. Peki, bu noktada veri g\u00f6l\u00fc kavram\u0131 ne anlama geliyor ve neden g\u00fcn\u00fcm\u00fcz d\u00fcnyas\u0131nda ger\u00e7ek zamanl\u0131 yetenekler bu kadar \u00f6nemli hale geldi?<\/p>\n<p>Veri g\u00f6l\u00fc (Data Lake), yap\u0131land\u0131r\u0131lm\u0131\u015f, yar\u0131 yap\u0131land\u0131r\u0131lm\u0131\u015f ve yap\u0131land\u0131r\u0131lmam\u0131\u015f t\u00fcm verileri, orijinal formatlar\u0131nda, tek ve merkezi bir depolama alan\u0131nda saklayabilen bir mimaridir. Geleneksel veri ambarlar\u0131n\u0131n aksine, veri g\u00f6lleri veriyi \u015fema tan\u0131mlamadan \u00f6nce saklar (schema-on-read yakla\u015f\u0131m\u0131). Bu esneklik, farkl\u0131 veri kaynaklar\u0131ndan gelen her t\u00fcrden veriyi h\u0131zla almay\u0131 ve gelecekteki analiz ihtiya\u00e7lar\u0131 i\u00e7in saklamay\u0131 m\u00fcmk\u00fcn k\u0131lar. \u00d6rne\u011fin, bir veri g\u00f6l\u00fc, m\u00fc\u015fteri i\u015flem kay\u0131tlar\u0131n\u0131 (yap\u0131land\u0131r\u0131lm\u0131\u015f), sosyal medya yorumlar\u0131n\u0131 (yap\u0131land\u0131r\u0131lmam\u0131\u015f) ve web sunucusu g\u00fcnl\u00fcklerini (yar\u0131 yap\u0131land\u0131r\u0131lm\u0131\u015f) ayn\u0131 anda bar\u0131nd\u0131rabilir. Bu sayede, kurulu\u015flar verilerin tamam\u0131na eri\u015ferek daha kapsaml\u0131 ve derinlemesine analizler yapabilirler.<\/p>\n<p>Ancak g\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zla de\u011fi\u015fen i\u015f ortam\u0131nda sadece veriyi depolamak yeterli de\u011fildir. M\u00fc\u015fteri davran\u0131\u015flar\u0131, pazar e\u011filimleri ve operasyonel metrikler s\u00fcrekli de\u011fi\u015fir. Bu nedenle, ger\u00e7ek zamanl\u0131 analiz yetene\u011fi, anl\u0131k kararlar alabilmek ve dinamik olaylara h\u0131zla yan\u0131t verebilmek i\u00e7in vazge\u00e7ilmezdir. Ger\u00e7ek zamanl\u0131 bir veri g\u00f6l\u00fc, veriyi saniyeler i\u00e7inde al\u0131p i\u015fleyerek, analistlerin ve i\u015f birimlerinin en g\u00fcncel bilgilerle \u00e7al\u0131\u015fmas\u0131na olanak tan\u0131r. \u00d6rne\u011fin, bir e-ticaret platformu, ger\u00e7ek zamanl\u0131 m\u00fc\u015fteri t\u0131klama verilerini analiz ederek ki\u015fiselle\u015ftirilmi\u015f \u00fcr\u00fcn \u00f6nerilerini an\u0131nda g\u00fcncelleyebilir veya sahtekarl\u0131k te\u015febb\u00fcslerini olu\u015fur olu\u015fmaz tespit edebilir. Bu t\u00fcr yetenekler, m\u00fc\u015fteri memnuniyetini art\u0131r\u0131r, operasyonel verimlili\u011fi y\u00fckseltir ve gelirleri maksimize eder. Dolay\u0131s\u0131yla, bir veri g\u00f6l\u00fcn\u00fcn yaln\u0131zca b\u00fcy\u00fck miktarda veriyi bar\u0131nd\u0131rmas\u0131 de\u011fil, ayn\u0131 zamanda bu veriyi zaman\u0131nda ve anlaml\u0131 bir \u015fekilde sunabilmesi gerekmektedir. AWS \u00fczerinde bu yetenekleri S3, Glue ve Athena ile bir araya getirerek g\u00fc\u00e7l\u00fc ve \u00f6l\u00e7eklenebilir bir \u00e7\u00f6z\u00fcm olu\u015fturmak m\u00fcmk\u00fcnd\u00fcr.<\/p>\n<h2>AWS Servisleri ile Tan\u0131\u015f\u0131n: S3, Glue ve Athena<\/h2>\n<p>Ger\u00e7ek zamanl\u0131 bir veri g\u00f6l\u00fc olu\u015ftururken, do\u011fru ara\u00e7 setine sahip olmak projenin ba\u015far\u0131s\u0131 i\u00e7in kritik \u00f6neme sahiptir. AWS, bu alanda sundu\u011fu servislerle hem esneklik hem de \u00f6l\u00e7eklenebilirlik sa\u011fl\u0131yor. Gelin, veri g\u00f6l\u00fcm\u00fcz\u00fcn temel yap\u0131 ta\u015flar\u0131 olan Amazon S3, AWS Glue ve Amazon Athena&#8217;y\u0131 daha yak\u0131ndan tan\u0131yal\u0131m.<\/p>\n<h3>Amazon S3: Veri G\u00f6l\u00fcn\u00fcz\u00fcn Temel Depolama Katman\u0131<\/h3>\n<p>Amazon S3 (Simple Storage Service), AWS\u2019nin nesne depolama hizmetidir ve veri g\u00f6l\u00fcn\u00fcz\u00fcn temelini olu\u015fturur. S3&#8217;\u00fcn en b\u00fcy\u00fck avantajlar\u0131ndan biri, neredeyse s\u0131n\u0131rs\u0131z \u00f6l\u00e7eklenebilirli\u011fidir; TB&#8217;lardan PB&#8217;lara kadar her boyuttaki veriyi sorunsuz bir \u015fekilde depolayabilir. Verilerinizi, klas\u00f6r benzeri yap\u0131lar olu\u015fturabilece\u011finiz &#8220;kovalar&#8221; (buckets) i\u00e7inde saklars\u0131n\u0131z. S3, y\u00fcksek dayan\u0131kl\u0131l\u0131k (y\u00fczde 99.999999999 &#8211; on bir dokuz) ve ula\u015f\u0131labilirlik sunar, yani verilerinizin g\u00fcvende oldu\u011fundan emin olabilirsiniz. Ayr\u0131ca, S3&#8217;\u00fcn maliyet etkinli\u011fi, b\u00fcy\u00fck veri setleri i\u00e7in olduk\u00e7a caziptir. Veri ya\u015fam d\u00f6ng\u00fcs\u00fc y\u00f6netimi politikalar\u0131 ile eski veya nadiren eri\u015filen verileri daha uygun maliyetli depolama s\u0131n\u0131flar\u0131na (\u00f6rne\u011fin, S3 Glacier) otomatik olarak ta\u015f\u0131yarak maliyetleri daha da optimize edebilirsiniz. Ger\u00e7ek zamanl\u0131 veri ak\u0131\u015flar\u0131 i\u00e7in S3, Kinesis Firehose gibi servislerle do\u011frudan entegre olarak, gelen veriyi belirlenen s\u0131kl\u0131kta otomatik olarak depolama yetene\u011fi sunar.<\/p>\n<div class=\"expert-tip\">\n  Uzman \u0130pucu: S3&#8217;te verilerinizi b\u00f6l\u00fcmleyerek (partitioning) ve Parquet veya ORC gibi s\u00fctunsal depolama formatlar\u0131nda saklayarak Athena sorgu performans\u0131n\u0131 dramatik bir \u015fekilde art\u0131rabilirsiniz. Bu, sorgu maliyetlerini de \u00f6nemli \u00f6l\u00e7\u00fcde d\u00fc\u015f\u00fcrecektir.\n<\/div>\n<h3>AWS Glue: Veri Entegrasyonu ve D\u00f6n\u00fc\u015f\u00fcm\u00fcn G\u00fcc\u00fc<\/h3>\n<p>AWS Glue, sunucusuz (serverless) bir ETL (Extract, Transform, Load) hizmetidir. Yani altyap\u0131 y\u00f6netimiyle u\u011fra\u015fmadan, verilerinizi kolayca haz\u0131rlayabilir ve analiz i\u00e7in d\u00f6n\u00fc\u015ft\u00fcrebilirsiniz. Glue&#8217;nun temel bile\u015fenleri \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>Glue Data Catalog:<\/strong> Veri g\u00f6l\u00fcn\u00fczdeki t\u00fcm veri kaynaklar\u0131 i\u00e7in merkezi bir meta veri deposudur. S3&#8217;teki verilerinizin \u015femas\u0131n\u0131, konumunu ve di\u011fer \u00f6zelliklerini burada saklar. Athena, Redshift Spectrum gibi servisler bu katalogdan bilgi alarak veri \u00fczerinde sorgular \u00e7al\u0131\u015ft\u0131r\u0131r.<\/li>\n<li><strong>Glue Crawler:<\/strong> S3 gibi veri depolar\u0131ndaki verileri tarayarak \u015femalar\u0131n\u0131 otomatik olarak \u00e7\u0131kar\u0131r ve Data Catalog&#8217;a ekler. Bu sayede manuel \u015fema tan\u0131mlama zahmetinden kurtulursunuz. Ger\u00e7ek zamanl\u0131 veri ak\u0131\u015flar\u0131nda, yeni gelen veri setlerinin \u015femas\u0131n\u0131 dinamik olarak alg\u0131lamak i\u00e7in faydal\u0131d\u0131r.<\/li>\n<li><strong>Glue ETL Jobs:<\/strong> Verilerinizi d\u00f6n\u00fc\u015ft\u00fcrmek i\u00e7in PySpark veya Scala tabanl\u0131 kodlar\u0131 \u00e7al\u0131\u015ft\u0131rabilece\u011finiz sunucusuz ortamlard\u0131r. Veri temizleme, zenginle\u015ftirme, format d\u00f6n\u00fc\u015ft\u00fcrme (\u00f6rne\u011fin JSON&#8217;dan Parquet&#8217;e) gibi karma\u015f\u0131k i\u015flemleri bu i\u015flerle ger\u00e7ekle\u015ftirebilirsiniz. Ger\u00e7ek zamanl\u0131 veya mikro-batch senaryolar\u0131nda, bu i\u015fler periyodik olarak \u00e7al\u0131\u015ft\u0131r\u0131larak veriyi analiz i\u00e7in haz\u0131r hale getirebilir.<\/li>\n<\/ul>\n<p>Glue, \u00f6zellikle farkl\u0131 formatlardaki veriyi standart ve optimize edilmi\u015f bir format olan Parquet&#8217;e d\u00f6n\u00fc\u015ft\u00fcrme ve veriyi b\u00f6l\u00fcmleme (partitioning) i\u015flemlerinde kilit bir rol oynar. Bu i\u015flemler, Athena&#8217;n\u0131n sorgu h\u0131z\u0131n\u0131 ve maliyetini do\u011frudan etkiler.<\/p>\n<h3>Amazon Athena: Sunucusuz Sorgu Motorunuz<\/h3>\n<p>Amazon Athena, standart SQL kullanarak Amazon S3&#8217;teki verilerinizi do\u011frudan analiz etmenizi sa\u011flayan sunucusuz bir sorgu hizmetidir. Herhangi bir altyap\u0131 kurman\u0131za veya y\u00f6netmenize gerek kalmaz; sorgunuzu yazars\u0131n\u0131z ve Athena otomatik olarak S3&#8217;teki verilerinizi tarar ve sonu\u00e7lar\u0131 size sunar. Athena, Glue Data Catalog ile entegre \u00e7al\u0131\u015f\u0131r, bu da S3&#8217;teki verilerinizin \u015femas\u0131n\u0131 bilmesini ve do\u011fru bir \u015fekilde sorgulaman\u0131z\u0131 sa\u011flar. Sadece \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131z sorgular i\u00e7in \u00f6deme yapars\u0131n\u0131z, yani taranan veri miktar\u0131na g\u00f6re faturaland\u0131r\u0131l\u0131rs\u0131n\u0131z. Bu maliyet modeli, \u00f6zellikle ad-hoc analizler ve de\u011fi\u015fken i\u015f y\u00fckleri i\u00e7in olduk\u00e7a avantajl\u0131d\u0131r. Ger\u00e7ek zamanl\u0131 veri g\u00f6l\u00fcm\u00fczde Athena, s\u00fcrekli g\u00fcncellenen veriler \u00fczerinde anl\u0131k analizler yapmak i\u00e7in ideal bir ara\u00e7t\u0131r. \u00d6zellikle S3&#8217;teki veriler d\u00fczg\u00fcn bir \u015fekilde b\u00f6l\u00fcmlenmi\u015f ve s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015fsa, Athena&#8217;n\u0131n performans\u0131 olduk\u00e7a etkileyicidir.<\/p>\n<p>Bu \u00fc\u00e7 servis, birlikte \u00e7al\u0131\u015farak b\u00fcy\u00fck veri analizi i\u00e7in g\u00fc\u00e7l\u00fc, esnek ve maliyet etkin bir \u00e7\u00f6z\u00fcm sunar. S3 veriyi g\u00fcvenle saklarken, Glue veriyi i\u015flenebilir hale getirir ve Athena bu i\u015flenmi\u015f veri \u00fczerinde h\u0131zl\u0131 ve kolay sorgular yapmam\u0131z\u0131 sa\u011flar. Bu kombinasyon, \u00f6zellikle ger\u00e7ek zamanl\u0131 ve s\u00fcrekli b\u00fcy\u00fcyen veri setleri i\u00e7in vazge\u00e7ilmezdir.<\/p>\n<h2>Ger\u00e7ek Zamanl\u0131 Veri G\u00f6l\u00fcn\u00fcn Temel Bile\u015fenleri Nelerdir?<\/h2>\n<p>Ger\u00e7ek zamanl\u0131 bir veri g\u00f6l\u00fcn\u00fc hayata ge\u00e7irmek, sadece do\u011fru AWS servislerini se\u00e7mekle kalmaz, ayn\u0131 zamanda bu servisleri en uygun \u015fekilde entegre etmek anlam\u0131na gelir. \u0130\u015fte bu mimarinin temel katmanlar\u0131 ve bile\u015fenleri:<\/p>\n<h3>Veri Al\u0131m\u0131 ve Saklama (Ingestion &#038; Storage) Nas\u0131l Yap\u0131l\u0131r?<\/h3>\n<p>Ger\u00e7ek zamanl\u0131 veri g\u00f6l\u00fcn\u00fcn ilk ad\u0131m\u0131, veriyi farkl\u0131 kaynaklardan toplamak ve g\u00fcvenli bir \u015fekilde depolamakt\u0131r. Bu a\u015famada genellikle olay tabanl\u0131 (event-driven) mimariler tercih edilir. Amazon Kinesis Firehose veya Apache Kafka tabanl\u0131 Amazon MSK, ger\u00e7ek zamanl\u0131 veri ak\u0131\u015flar\u0131n\u0131 toplamak i\u00e7in pop\u00fcler se\u00e7eneklerdir. \u00d6rne\u011fin, bir IoT cihaz\u0131ndan gelen sens\u00f6r verileri veya bir web sitesinden gelen t\u0131klama ak\u0131\u015flar\u0131, Kinesis Firehose&#8217;a g\u00f6nderilebilir. Firehose, bu veriyi otomatik olarak s\u0131k\u0131\u015ft\u0131r\u0131r, d\u00f6n\u00fc\u015ft\u00fcr\u00fcr ve belirli aral\u0131klarla veya belirli bir boyuta ula\u015ft\u0131\u011f\u0131nda Amazon S3&#8217;teki bir &#8220;landing zone&#8221; (ini\u015f alan\u0131) kovas\u0131na teslim eder. Bu ini\u015f alan\u0131 genellikle ham (raw) veriyi, orijinal format\u0131nda (\u00f6rne\u011fin JSON, CSV) bar\u0131nd\u0131r\u0131r. S3, veri g\u00f6l\u00fcn\u00fcn temel depolama katman\u0131 olarak bu ham veriyi sonsuz \u00f6l\u00e7ekte ve y\u00fcksek dayan\u0131kl\u0131l\u0131kla saklar. Bu katman, gelecekteki olas\u0131 analiz ihtiya\u00e7lar\u0131 i\u00e7in verinin de\u011fi\u015fmeden kalmas\u0131n\u0131 sa\u011flar ve herhangi bir \u00f6n \u015fema dayatmaz. Veri, genellikle zaman tabanl\u0131 bir klas\u00f6r yap\u0131s\u0131yla depolan\u0131r (\u00f6rne\u011fin, <code>s3:\/\/your-bucket\/raw\/year=YYYY\/month=MM\/day=DD\/hour=HH\/<\/code>).<\/p>\n<pre><code>\n\/\/ Kinesis Firehose ile S3'e veri g\u00f6nderme \u00f6rne\u011fi (Python Boto3)\nimport boto3\nimport json\nimport datetime\n\nfirehose_client = boto3.client('firehose', region_name='us-east-1')\n\ndef send_data_to_firehose(stream_name, data):\n    record = {'Data': json.dumps(data) + '\\n'}\n    response = firehose_client.put_record(\n        DeliveryStreamName=stream_name,\n        Record=record\n    )\n    return response\n\nif __name__ == \"__main__\":\n    current_time = datetime.datetime.now().isoformat()\n    sample_data = {\n        \"event_id\": \"e12345\",\n        \"user_id\": \"u67890\",\n        \"timestamp\": current_time,\n        \"action\": \"product_view\",\n        \"product_id\": \"p9876\",\n        \"category\": \"electronics\"\n    }\n    \n    delivery_stream_name = \"YourRealTimeDataStream\" # Kinesis Firehose delivery stream ad\u0131n\u0131z\n    response = send_data_to_firehose(delivery_stream_name, sample_data)\n    print(f\"Veri Firehose'a g\u00f6nderildi: {response}\")\n\n<\/pre>\n<p><\/code><\/p>\n<p>Yukar\u0131daki \u00f6rnekte, basit bir olay verisinin Kinesis Firehose'a nas\u0131l g\u00f6nderilece\u011fi g\u00f6sterilmi\u015ftir. Firehose, bu veriyi belirli bir S3 kovas\u0131na otomatik olarak atacakt\u0131r.<\/p>\n<h3>Veri \u0130\u015fleme ve D\u00f6n\u00fc\u015ft\u00fcrme (Processing & Transformation) Nas\u0131l Sa\u011flan\u0131r?<\/h3>\n<p>Ham veri S3'e ula\u015ft\u0131ktan sonra, analiz i\u00e7in daha uygun ve optimize edilmi\u015f bir formata d\u00f6n\u00fc\u015ft\u00fcr\u00fclmesi gerekir. Bu a\u015famada AWS Glue devreye girer. Glue ETL i\u015fleri, S3'teki ham veriyi okur, temizler, zenginle\u015ftirir ve genellikle s\u00fctunsal formatlara (Parquet veya ORC) d\u00f6n\u00fc\u015ft\u00fcr\u00fcr. S\u00fctunsal formatlar, sorgu performans\u0131n\u0131 art\u0131r\u0131r ve depolama maliyetlerini d\u00fc\u015f\u00fcr\u00fcr \u00e7\u00fcnk\u00fc yaln\u0131zca sorgulanan s\u00fctunlar okunur ve veri daha iyi s\u0131k\u0131\u015ft\u0131r\u0131l\u0131r. Ayr\u0131ca, bu a\u015famada veriler belirli anahtarlara g\u00f6re b\u00f6l\u00fcmlenir (\u00f6rne\u011fin, tarih, b\u00f6lge, m\u00fc\u015fteri ID). B\u00f6l\u00fcmleme, Athena'n\u0131n sorgu s\u0131ras\u0131nda taramas\u0131 gereken veri miktar\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r, b\u00f6ylece performans\u0131 art\u0131r\u0131r ve maliyetleri d\u00fc\u015f\u00fcr\u00fcr. Glue i\u015fleri, belirli bir zaman \u00e7izelgesine g\u00f6re (\u00f6rne\u011fin her 5 dakikada bir) veya S3'e yeni bir dosya d\u00fc\u015ft\u00fc\u011f\u00fcnde tetiklenecek \u015fekilde ayarlanabilir. Bu \"mikro-batch\" yakla\u015f\u0131m\u0131, ger\u00e7ek zamanl\u0131ya yak\u0131n analiz yetenekleri sunar.<\/p>\n<pre><code>\n# AWS Glue ETL i\u015fi i\u00e7in PySpark \u00f6rne\u011fi (JSON'dan Parquet'e d\u00f6n\u00fc\u015ft\u00fcrme ve b\u00f6l\u00fcmleme)\nimport sys\nfrom awsglue.transforms import *\nfrom awsglue.utils import getResolvedOptions\nfrom pyspark.context import SparkContext\nfrom awsglue.context import GlueContext\nfrom awsglue.job import Job\n\n# Job arg\u00fcmanlar\u0131n\u0131 al\nargs = getResolvedOptions(sys.argv, ['JOB_NAME', 'S3_INPUT_PATH', 'S3_OUTPUT_PATH'])\n\nsc = SparkContext()\nglueContext = GlueContext(sc)\nspark = glueContext.spark_session\njob = Job(glueContext)\njob.init(args['JOB_NAME'], args)\n\n# Ham veriyi S3'ten oku\ndatasource = glueContext.create_dynamic_frame.from_options(\n    connection_type=\"s3\",\n    connection_options={\"paths\": [args['S3_INPUT_PATH']], \"recurse\": True},\n    format=\"json\",\n    transformation_ctx=\"datasource_read\"\n)\n\n# Veriyi d\u00f6n\u00fc\u015ft\u00fcr (\u00f6rne\u011fin, \u015fema uygulamak veya temizlik yapmak)\n# Bu \u00f6rnekte, basit\u00e7e \u015femay\u0131 uygulayarak bir DynamicFrame olu\u015fturulur.\n# Ger\u00e7ek uygulamalarda burada daha karma\u015f\u0131k d\u00f6n\u00fc\u015f\u00fcmler yap\u0131labilir.\ntransformed_data = ApplyMapping.apply(frame=datasource, mappings=[\n    (\"event_id\", \"string\", \"event_id\", \"string\"),\n    (\"user_id\", \"string\", \"user_id\", \"string\"),\n    (\"timestamp\", \"string\", \"timestamp\", \"string\"),\n    (\"action\", \"string\", \"action\", \"string\"),\n    (\"product_id\", \"string\", \"product_id\", \"string\"),\n    (\"category\", \"string\", \"category\", \"string\")\n], transformation_ctx=\"apply_mapping\")\n\n# Tarih baz\u0131nda b\u00f6l\u00fcmleme i\u00e7in 'timestamp' alan\u0131ndan tarih bilgilerini \u00e7\u0131kar\nfrom pyspark.sql.functions import year, month, dayofmonth, hour, to_timestamp\ntransformed_data_df = transformed_data.toDF()\ntransformed_data_df = transformed_data_df.withColumn(\"ingest_year\", year(to_timestamp(\"timestamp\"))) \\\n                                       .withColumn(\"ingest_month\", month(to_timestamp(\"timestamp\"))) \\\n                                       .withColumn(\"ingest_day\", dayofmonth(to_timestamp(\"timestamp\"))) \\\n                                       .withColumn(\"ingest_hour\", hour(to_timestamp(\"timestamp\")))\n\n# \u0130\u015flenmi\u015f veriyi Parquet format\u0131nda ve b\u00f6l\u00fcmleyerek S3'e yaz\nglueContext.write_dynamic_frame.from_options(\n    frame=DynamicFrame.fromDF(transformed_data_df, glueContext, \"transformed_data_df\"),\n    connection_type=\"s3\",\n    connection_options={\n        \"path\": args['S3_OUTPUT_PATH'],\n        \"partitionKeys\": [\"ingest_year\", \"ingest_month\", \"ingest_day\", \"ingest_hour\"]\n    },\n    format=\"parquet\",\n    transformation_ctx=\"data_sink\"\n)\n\njob.commit()\n\n<\/pre>\n<p><\/code><\/p>\n<h3>Veri Kataloglama ve Sorgulama (Cataloging & Querying) Ad\u0131mlar\u0131<\/h3>\n<p>Veri i\u015flenip S3'e optimize edilmi\u015f formatlarda ve b\u00f6l\u00fcmlenmi\u015f olarak yaz\u0131ld\u0131ktan sonra, bu verinin \"ke\u015ffedilebilir\" hale gelmesi gerekir. \u0130\u015fte burada AWS Glue Data Catalog ve Amazon Athena devreye girer. Glue Crawler'lar, i\u015flenmi\u015f verilerin bulundu\u011fu S3 yolunu tarar, verinin \u015femas\u0131n\u0131 otomatik olarak alg\u0131lar (\u00f6rne\u011fin, Parquet dosyalar\u0131n\u0131n ba\u015fl\u0131klar\u0131n\u0131 okuyarak) ve bu \u015femay\u0131 Glue Data Catalog'da bir tablo olarak kaydeder. Crawler ayr\u0131ca, S3 yolundaki b\u00f6l\u00fcmleme anahtarlar\u0131n\u0131 da tan\u0131r ve katalogdaki tabloya ekler. Bu sayede, Athena bu meta veriyi kullanarak S3'teki verilere standart SQL sorgular\u0131yla eri\u015febilir. Analistler, Athena'y\u0131 kullanarak SQL sorgular\u0131n\u0131 do\u011frudan \u00e7al\u0131\u015ft\u0131rabilir ve en g\u00fcncel i\u015flenmi\u015f verilere an\u0131nda eri\u015febilirler. Athena'n\u0131n sunucusuz yap\u0131s\u0131, herhangi bir sunucu y\u00f6netimi veya altyap\u0131 \u00f6l\u00e7eklendirme derdi olmadan, binlerce sorguyu e\u015fzamanl\u0131 olarak \u00e7al\u0131\u015ft\u0131rmas\u0131na olanak tan\u0131r. Ger\u00e7ek zamanl\u0131 senaryolarda, Glue i\u015fleri taraf\u0131ndan yeni veriler eklendik\u00e7e veya mevcut veriler g\u00fcncellendik\u00e7e, Glue Crawler'lar bu de\u011fi\u015fiklikleri Data Catalog'a yans\u0131tabilir veya Glue Job'lar\u0131 arac\u0131l\u0131\u011f\u0131yla direkt olarak Data Catalog g\u00fcncellenebilir. Bu sayede Athena sorgular\u0131 her zaman en g\u00fcncel veriyi g\u00f6recektir.<\/p>\n<h2>Vaka Analizi: E-ticaret Platformunda Ger\u00e7ek Zamanl\u0131 Kullan\u0131c\u0131 Davran\u0131\u015f\u0131 Analizi<\/h2>\n<p>Ger\u00e7ek zamanl\u0131 bir veri g\u00f6l\u00fcn\u00fcn pratik faydalar\u0131n\u0131 somutla\u015ft\u0131rmak i\u00e7in bir e-ticaret platformu senaryosunu ele alal\u0131m. Bu platform, milyonlarca kullan\u0131c\u0131n\u0131n s\u00fcrekli etkile\u015fimde bulundu\u011fu, \u00fcr\u00fcnleri g\u00f6r\u00fcnt\u00fcledi\u011fi, sepete ekledi\u011fi ve sat\u0131n alma i\u015flemleri ger\u00e7ekle\u015ftirdi\u011fi dinamik bir yap\u0131ya sahip. Platform y\u00f6neticileri, kullan\u0131c\u0131lar\u0131n anl\u0131k davran\u0131\u015flar\u0131n\u0131 anlamak, ki\u015fiselle\u015ftirilmi\u015f deneyimler sunmak, sahtekarl\u0131\u011f\u0131 \u00f6nlemek ve pazar trendlerine h\u0131zla adapte olmak istiyorlar.<\/p>\n<h3>Mevcut Durum ve Kar\u015f\u0131la\u015f\u0131lan Zorluklar<\/h3>\n<p>E-ticaret platformu daha \u00f6nce geleneksel bir ili\u015fkisel veritaban\u0131 kullan\u0131yordu. Ancak:<\/p>\n<ul>\n<li><strong>\u00d6l\u00e7eklenebilirlik Sorunlar\u0131:<\/strong> Saniyede y\u00fczlerce hatta binlerce i\u015flem logu geldi\u011finde, veritaban\u0131 performans\u0131 d\u00fc\u015f\u00fcyordu.<\/li>\n<li><strong>Maliyet Y\u00fcksekli\u011fi:<\/strong> B\u00fcy\u00fck veri hacimlerini s\u00fcrekli olarak depolamak ve sorgulamak i\u00e7in pahal\u0131 veritaban\u0131 sunucular\u0131na yat\u0131r\u0131m yapmak gerekiyordu.<\/li>\n<li><strong>Esneklik Eksikli\u011fi:<\/strong> Yeni veri t\u00fcrleri (\u00f6rne\u011fin, mobil uygulama etkile\u015fimleri, canl\u0131 sohbet kay\u0131tlar\u0131) h\u0131zla eklenemiyordu. \u015eema de\u011fi\u015fiklikleri zaman al\u0131c\u0131yd\u0131.<\/li>\n<li><strong>Gecikmeli Analiz:<\/strong> Analitik raporlar g\u00fcnde bir kez, toplu (batch) olarak haz\u0131rlan\u0131yordu. Bu da y\u00f6neticilerin g\u00fcncel bilgilerle karar almas\u0131n\u0131 engelliyordu.<\/li>\n<\/ul>\n<p>Bu zorluklar kar\u015f\u0131s\u0131nda, platform, kullan\u0131c\u0131 deneyimini iyile\u015ftirmek ve rekabet avantaj\u0131n\u0131 s\u00fcrd\u00fcrmek i\u00e7in ger\u00e7ek zamanl\u0131 analiz yeteneklerine sahip, \u00f6l\u00e7eklenebilir ve maliyet etkin bir \u00e7\u00f6z\u00fcme ihtiya\u00e7 duyuyordu.<\/p>\n<h3>AWS ile Ger\u00e7ek Zamanl\u0131 Veri G\u00f6l\u00fc \u00c7\u00f6z\u00fcm\u00fc<\/h3>\n<p>Platform, AWS \u00fczerinde S3, Glue ve Athena kullanarak a\u015fa\u011f\u0131daki mimariyi uygulad\u0131:<\/p>\n<ol>\n<li><strong>Veri Al\u0131m\u0131: Amazon Kinesis Firehose:<\/strong>\n<ul>\n<li>Web sitesi ve mobil uygulama \u00fczerindeki her kullan\u0131c\u0131 etkile\u015fimi (sayfa g\u00f6r\u00fcnt\u00fcleme, sepete \u00fcr\u00fcn ekleme, arama sorgular\u0131) bir olay olarak Kinesis Firehose ak\u0131\u015f\u0131na g\u00f6nderildi.<\/li>\n<li>Kinesis Firehose, bu JSON olaylar\u0131n\u0131 otomatik olarak 5 dakikal\u0131k aral\u0131klarla veya 128MB boyuta ula\u015ft\u0131\u011f\u0131nda S3'teki bir \"ham veri\" kovas\u0131na, zaman tabanl\u0131 (<code>\/raw\/year=YYYY\/month=MM\/day=DD\/hour=HH\/<\/code>) bir klas\u00f6r yap\u0131s\u0131yla s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f halde (GZIP) b\u0131rakt\u0131.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Veri D\u00f6n\u00fc\u015f\u00fcm\u00fc: AWS Glue ETL:<\/strong>\n<ul>\n<li>Her 5 dakikada bir tetiklenen bir AWS Glue ETL i\u015fi, S3'teki yeni ham JSON dosyalar\u0131n\u0131 okudu.<\/li>\n<li>Bu i\u015f, veriyi temizledi (\u00f6rne\u011fin, eksik veya hatal\u0131 kay\u0131tlar\u0131 filtreledi), baz\u0131 alanlar\u0131 zenginle\u015ftirdi (\u00f6rne\u011fin, IP adresinden co\u011frafi konum bilgisi ekledi) ve ard\u0131ndan veriyi s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f Parquet format\u0131na d\u00f6n\u00fc\u015ft\u00fcrd\u00fc.<\/li>\n<li>D\u00f6n\u00fc\u015ft\u00fcr\u00fclen veri, S3'teki ayr\u0131 bir \"i\u015flenmi\u015f veri\" kovas\u0131na, yine ayn\u0131 b\u00f6l\u00fcmleme yap\u0131s\u0131yla (<code>\/processed\/year=YYYY\/month=MM\/day=DD\/hour=HH\/<\/code>) yaz\u0131ld\u0131. Bu sayede, Athena sorgular\u0131 i\u00e7in optimize edilmi\u015f bir veri seti olu\u015ftu.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Veri Kataloglama ve Sorgulama: AWS Glue Data Catalog & Amazon Athena:<\/strong>\n<ul>\n<li>Bir AWS Glue Crawler, her Glue ETL i\u015fi tamamland\u0131\u011f\u0131nda veya belirli aral\u0131klarla tetiklenerek, i\u015flenmi\u015f veri kovas\u0131ndaki Parquet dosyalar\u0131n\u0131 tarad\u0131.<\/li>\n<li>Crawler, verinin \u015femas\u0131n\u0131 otomatik olarak ke\u015ffetti ve bu \u015femay\u0131 Glue Data Catalog'da <code>user_interactions_processed<\/code> ad\u0131nda bir tablo olarak kaydetti. B\u00f6l\u00fcmleme anahtarlar\u0131 (<code>year<\/code>, <code>month<\/code>, <code>day<\/code>, <code>hour<\/code>) da otomatik olarak eklendi.<\/li>\n<li>Analistler ve i\u015f birimleri, Amazon Athena'y\u0131 kullanarak bu <code>user_interactions_processed<\/code> tablosu \u00fczerinde standart SQL sorgular\u0131 \u00e7al\u0131\u015ft\u0131rarak anl\u0131k bilgilere eri\u015febildi.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<pre><code>\n-- Amazon Athena'da son bir saatteki en pop\u00fcler \u00fcr\u00fcnleri bulan sorgu \u00f6rne\u011fi\nSELECT\n    product_id,\n    COUNT(DISTINCT user_id) AS unique_users,\n    COUNT(*) AS total_views\nFROM\n    \"your_database\".\"user_interactions_processed\"\nWHERE\n    ingest_year = YEAR(CURRENT_TIMESTAMP) AND\n    ingest_month = MONTH(CURRENT_TIMESTAMP) AND\n    ingest_day = DAY(CURRENT_TIMESTAMP) AND\n    ingest_hour >= HOUR(CURRENT_TIMESTAMP - INTERVAL '1' HOUR)\nGROUP BY\n    product_id\nORDER BY\n    total_views DESC\nLIMIT 10;\n\n<\/pre>\n<p><\/code><\/p>\n<p>Bu sorgu, Athena'n\u0131n nas\u0131l kullan\u0131ld\u0131\u011f\u0131na dair basit bir \u00f6rnektir. <code>ingest_year<\/code>, <code>ingest_month<\/code>, <code>ingest_day<\/code> ve <code>ingest_hour<\/code> gibi b\u00f6l\u00fcmleme anahtarlar\u0131 sayesinde, Athena yaln\u0131zca son bir saatteki ilgili verileri tarayarak sorgu performans\u0131n\u0131 art\u0131r\u0131r ve maliyetleri d\u00fc\u015f\u00fcr\u00fcr.<\/p>\n<h3>Elde Edilen Faydalar<\/h3>\n<p>Bu yeni mimari sayesinde e-ticaret platformu \u015fu faydalar\u0131 sa\u011flad\u0131:<\/p>\n<ul>\n<li><strong>Ger\u00e7ek Zamanl\u0131 Kararlar:<\/strong> Kullan\u0131c\u0131lar\u0131n site \u00fczerindeki anl\u0131k hareketlerini takip ederek, ki\u015fiselle\u015ftirilmi\u015f \u00fcr\u00fcn \u00f6nerileri saniyeler i\u00e7inde g\u00fcncellendi. \u00d6rne\u011fin, bir kullan\u0131c\u0131 belirli bir \u00fcr\u00fcn kategorisini s\u0131k\u00e7a ziyaret ediyorsa, ana sayfadaki banner'lar veya e-posta kampanyalar\u0131 an\u0131nda buna g\u00f6re ayarland\u0131.<\/li>\n<li><strong>Doland\u0131r\u0131c\u0131l\u0131k Tespiti:<\/strong> Anormal sat\u0131n alma desenleri veya h\u0131zl\u0131 i\u015flem ak\u0131\u015flar\u0131 ger\u00e7ek zamanl\u0131 olarak izlenerek, olas\u0131 doland\u0131r\u0131c\u0131l\u0131k giri\u015fimleri an\u0131nda tespit edildi ve otomatik uyar\u0131lar tetiklendi.<\/li>\n<li><strong>Operasyonel Verimlilik:<\/strong> Analistler, veri ambar\u0131 ekibine ba\u011fl\u0131 kalmadan kendi sorgular\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rabildi, bu da raporlama s\u00fcresini k\u0131saltt\u0131 ve i\u015f birimlerinin daha \u00e7evik olmas\u0131n\u0131 sa\u011flad\u0131.<\/li>\n<li><strong>Maliyet Optimizasyonu:<\/strong> S3'\u00fcn d\u00fc\u015f\u00fck maliyetli depolamas\u0131, Glue'nun sunucusuz ETL'i ve Athena'n\u0131n yaln\u0131zca sorgu ba\u015f\u0131na \u00f6deme modeli sayesinde, eski altyap\u0131ya g\u00f6re \u00f6nemli \u00f6l\u00e7\u00fcde maliyet tasarrufu sa\u011fland\u0131.<\/li>\n<li><strong>Esneklik ve \u00d6l\u00e7eklenebilirlik:<\/strong> Yeni veri kaynaklar\u0131 veya analiz ihtiya\u00e7lar\u0131 ortaya \u00e7\u0131kt\u0131\u011f\u0131nda, mevcut veri g\u00f6l\u00fc mimarisi kolayca adapte edildi ve artan veri hacmi sorunsuz bir \u015fekilde y\u00f6netildi.<\/li>\n<\/ul>\n<p>Bu vaka analizi, AWS S3, Glue ve Athena \u00fc\u00e7l\u00fcs\u00fcn\u00fcn ger\u00e7ek zamanl\u0131 veri analizi ihtiya\u00e7lar\u0131 olan bir e-ticaret platformu i\u00e7in nas\u0131l d\u00f6n\u00fc\u015ft\u00fcr\u00fcc\u00fc bir \u00e7\u00f6z\u00fcm sunabilece\u011fini a\u00e7\u0131k\u00e7a g\u00f6stermektedir. Bu mimari, sadece veriyi depolamakla kalmaz, ayn\u0131 zamanda bu veriyi i\u015f kararlar\u0131na d\u00f6n\u00fc\u015ft\u00fcrmek i\u00e7in g\u00fc\u00e7l\u00fc ve esnek bir temel sa\u011flar.<\/p>\n<h2>\u0130leri D\u00fczey Optimizasyonlar ve En \u0130yi Uygulamalar<\/h2>\n<p>Temel bir veri g\u00f6l\u00fc mimarisi kurmak iyi bir ba\u015flang\u0131\u00e7 olsa da, \u00fcretim ortam\u0131nda y\u00fcksek performans, maliyet etkinli\u011fi ve g\u00fcvenilirlik sa\u011flamak i\u00e7in ileri d\u00fczey optimizasyonlara ve en iyi uygulamalara ihtiya\u00e7 duyulur. \u0130\u015fte baz\u0131 \u00f6nemli ipu\u00e7lar\u0131 ve p\u00fcf noktalar\u0131:<\/p>\n<h3>Performans ve Maliyet \u0130\u00e7in Veri Optimizasyonu<\/h3>\n<p>Athena'n\u0131n performans\u0131 ve maliyeti, S3'teki verilerinizin nas\u0131l depoland\u0131\u011f\u0131na do\u011frudan ba\u011fl\u0131d\u0131r. Bu nedenle, veri optimizasyonu kritik \u00f6neme sahiptir:<\/p>\n<ul>\n<li><strong>Do\u011fru Dosya Format\u0131 Se\u00e7imi:<\/strong> Parquet ve ORC gibi s\u00fctunsal depolama formatlar\u0131, sorgulama performans\u0131n\u0131 ve s\u0131k\u0131\u015ft\u0131rmay\u0131 iyile\u015ftirdi\u011fi i\u00e7in tercih edilmelidir. JSON ve CSV gibi sat\u0131r tabanl\u0131 formatlar daha az verimlidir. \u00d6rne\u011fin, bir tablonun sadece iki s\u00fctununu sorgulad\u0131\u011f\u0131n\u0131zda, Parquet sadece bu iki s\u00fctunun verisini okurken, JSON\/CSV t\u00fcm sat\u0131r\u0131 okumak zorunda kal\u0131r.<\/li>\n<li><strong>Veri S\u0131k\u0131\u015ft\u0131rma:<\/strong> GZIP, Snappy veya Zstandard gibi s\u0131k\u0131\u015ft\u0131rma algoritmalar\u0131 kullan\u0131larak veri boyutunu k\u00fc\u00e7\u00fcltmek, hem depolama maliyetlerini d\u00fc\u015f\u00fcr\u00fcr hem de Athena'n\u0131n taramas\u0131 gereken veri miktar\u0131n\u0131 azaltarak sorgu h\u0131z\u0131n\u0131 art\u0131r\u0131r.<\/li>\n<li><strong>Ak\u0131ll\u0131 B\u00f6l\u00fcmleme (Partitioning):<\/strong> Verilerinizi sorgular\u0131n\u0131zda en \u00e7ok kullan\u0131lan s\u00fctunlara g\u00f6re b\u00f6l\u00fcmlemek, Athena'n\u0131n yaln\u0131zca ilgili b\u00f6l\u00fcmleri taramas\u0131n\u0131 sa\u011flar. Tarih, b\u00f6lge, m\u00fc\u015fteri ID gibi boyutlar iyi b\u00f6l\u00fcmleme anahtarlar\u0131d\u0131r. Ancak \u00e7ok k\u00fc\u00e7\u00fck b\u00f6l\u00fcmler olu\u015fturmaktan ka\u00e7\u0131n\u0131n, aksi takdirde \u00e7ok say\u0131da k\u00fc\u00e7\u00fck dosya (small files problem) performans\u0131 olumsuz etkileyebilir.<\/li>\n<li><strong>Dosya Boyutu Optimizasyonu:<\/strong> S3'te \u00e7ok say\u0131da k\u00fc\u00e7\u00fck dosya (\u00f6rne\u011fin, birka\u00e7 KB'l\u0131k binlerce dosya) olmas\u0131, Athena'n\u0131n her dosyay\u0131 ayr\u0131 ayr\u0131 a\u00e7mas\u0131 gerekti\u011fi i\u00e7in sorgu performans\u0131n\u0131 d\u00fc\u015f\u00fcr\u00fcr ve maliyeti art\u0131r\u0131r. AWS Glue ETL i\u015flerinizde, daha b\u00fcy\u00fck dosyalar (\u00f6rne\u011fin, 128 MB ila 1 GB aras\u0131) olu\u015fturacak \u015fekilde veriyi birle\u015ftirme (compaction) stratejileri uygulay\u0131n.<\/li>\n<\/ul>\n<h3>G\u00fcvenlik, Y\u00f6netim ve \u0130zleme<\/h3>\n<p>Veri g\u00f6l\u00fcn\u00fcz\u00fc g\u00fcvende tutmak, y\u00f6netmek ve izlemek de e\u015fit derecede \u00f6nemlidir:<\/p>\n<ul>\n<li><strong>AWS IAM (Identity and Access Management):<\/strong> S3 kovalar\u0131na, Glue i\u015flerine ve Athena'ya eri\u015fimi en az yetki prensibiyle (least privilege) s\u0131n\u0131rlay\u0131n. Her kullan\u0131c\u0131n\u0131n veya servisin yaln\u0131zca ihtiya\u00e7 duydu\u011fu kaynaklara eri\u015febildi\u011finden emin olun.<\/li>\n<li><strong>S3 Kova Politikalar\u0131 ve ACL'ler:<\/strong> Verilerinizin g\u00fcvenli\u011fini sa\u011flamak i\u00e7in S3 kova politikalar\u0131n\u0131 ve eri\u015fim kontrol listelerini (ACL'ler) do\u011fru \u015fekilde yap\u0131land\u0131r\u0131n. \u00d6zellikle hassas veriler i\u00e7in kova \u015fifrelemesini (SSE-S3, SSE-KMS) etkinle\u015ftirin.<\/li>\n<li><strong>AWS CloudTrail ve CloudWatch:<\/strong> Bu servisleri kullanarak veri g\u00f6l\u00fcn\u00fczdeki t\u00fcm API \u00e7a\u011fr\u0131lar\u0131n\u0131 ve etkinlikleri izleyin. G\u00fcvenlik denetimleri ve sorun giderme i\u00e7in kritik \u00f6neme sahiptir. CloudWatch metrikleri ile Glue i\u015flerinin performans\u0131n\u0131 ve Athena sorgular\u0131n\u0131n kullan\u0131m\u0131n\u0131 takip edebilirsiniz.<\/li>\n<li><strong>AWS Lake Formation:<\/strong> Veri g\u00f6l\u00fc \u00fczerinde merkezi bir g\u00fcvenlik ve y\u00f6netim katman\u0131 sa\u011flar. Hassas veri eri\u015fimini basit bir \u015fekilde y\u00f6netmenize, tablo ve s\u00fctun d\u00fczeyinde izinler tan\u0131mlaman\u0131za olanak tan\u0131r.<\/li>\n<\/ul>\n<div class=\"expert-tip\">\n  Uzman \u0130pucu: \u00c7ok b\u00fcy\u00fck ve s\u0131k g\u00fcncellenen tablolar\u0131n\u0131z varsa, Glue Crawler'lar\u0131n her seferinde t\u00fcm S3 yolunu taramas\u0131n\u0131 beklemek yerine, Glue ETL i\u015flerinizin sonunda <code>msck repair table your_table;<\/code> gibi komutlar\u0131 Athena'da veya Glue'nun <code>update_table_partitions<\/code> API'sini kullanarak Glue Data Catalog'daki b\u00f6l\u00fcm bilgilerini manuel olarak g\u00fcncelleyin. Bu, veri kataloglama s\u00fcrecini h\u0131zland\u0131racakt\u0131r.\n<\/div>\n<h3>Sorgu Performans\u0131n\u0131 Art\u0131rma Stratejileri<\/h3>\n<p>Athena sorgular\u0131n\u0131z\u0131n daha h\u0131zl\u0131 \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flamak i\u00e7in baz\u0131 stratejiler:<\/p>\n<ul>\n<li><strong>Predicate Pushdown:<\/strong> Sorgular\u0131n\u0131zda <code>WHERE<\/code> ko\u015fullar\u0131n\u0131 kullanarak (\u00f6zellikle b\u00f6l\u00fcmleme anahtarlar\u0131nda), Athena'n\u0131n taramas\u0131 gereken veri miktar\u0131n\u0131 en aza indirin. Athena bu ko\u015fullar\u0131 S3'ten veri okumadan \u00f6nce de\u011ferlendirerek performans\u0131 art\u0131r\u0131r.<\/li>\n<li><strong>Sorgu Optimizasyonu:<\/strong> Karma\u015f\u0131k sorgular\u0131 daha basit CTE'lere (Common Table Expressions) b\u00f6lmek, gereksiz JOIN'lerden ka\u00e7\u0131nmak ve uygun veri t\u00fcrlerini kullanmak performans\u0131 art\u0131rabilir.<\/li>\n<li><strong>JOIN Stratejileri:<\/strong> B\u00fcy\u00fck tablolar aras\u0131nda JOIN yaparken, daha k\u00fc\u00e7\u00fck tabloyu belle\u011fe y\u00fckleyebilen \"broadcast join\" gibi stratejileri d\u00fc\u015f\u00fcn\u00fcn. Ancak bu genellikle Athena'n\u0131n otomatik olarak ele ald\u0131\u011f\u0131 bir durumdur.<\/li>\n<li><strong>VIEW Kullan\u0131m\u0131:<\/strong> Karma\u015f\u0131k sorgular\u0131 veya s\u0131k kullan\u0131lan JOIN'leri VIEW olarak kaydederek, sorgu yaz\u0131m\u0131n\u0131 kolayla\u015ft\u0131rabilir ve mant\u0131ksal katmanlar olu\u015fturabilirsiniz.<\/li>\n<\/ul>\n<p>Bu ileri d\u00fczey optimizasyonlar\u0131 uygulayarak, AWS \u00fczerinde kurdu\u011funuz ger\u00e7ek zamanl\u0131 veri g\u00f6l\u00fcn\u00fcz\u00fcn sadece \u00e7al\u0131\u015fmas\u0131n\u0131 de\u011fil, ayn\u0131 zamanda \u00fcretim ortam\u0131nda en y\u00fcksek verimlilik ve d\u00fc\u015f\u00fck maliyetle \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flayabilirsiniz. Veri g\u00f6l\u00fc mimarileri s\u00fcrekli geli\u015fti\u011fi i\u00e7in, yeni AWS \u00f6zelliklerini ve en iyi uygulamalar\u0131 takip etmek her zaman \u00f6nemlidir.<\/p>\n<h2>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular<\/h2>\n<p>AWS \u00fczerinde S3, Glue ve Athena ile ger\u00e7ek zamanl\u0131 bir veri g\u00f6l\u00fc olu\u015fturmak, modern i\u015fletmelerin b\u00fcy\u00fck veri hacimleriyle ba\u015fa \u00e7\u0131kmalar\u0131 ve anl\u0131k i\u015f kararlar\u0131 almalar\u0131 i\u00e7in g\u00fc\u00e7l\u00fc, esnek ve maliyet etkin bir \u00e7\u00f6z\u00fcmd\u00fcr. Bu makalede, veri g\u00f6l\u00fcn\u00fcn temelini olu\u015fturan bu servislerin i\u015flevlerini, nas\u0131l bir araya getirilece\u011fini ve \u00fcretim ortam\u0131nda ba\u015far\u0131l\u0131 bir \u015fekilde nas\u0131l optimize edilece\u011fini ele ald\u0131k. Kinesis Firehose ile veri al\u0131m\u0131ndan, Glue ile d\u00f6n\u00fc\u015f\u00fcm ve kataloglamaya, Athena ile anl\u0131k sorgulamaya kadar t\u00fcm ad\u0131mlar\u0131 detayland\u0131rd\u0131k ve ger\u00e7ek bir e-ticaret vaka analizi ile somutla\u015ft\u0131rd\u0131k. Unutulmamal\u0131d\u0131r ki, veri g\u00f6l\u00fc yolculu\u011fu s\u00fcrekli \u00f6\u011frenmeyi ve optimizasyonu gerektiren dinamik bir s\u00fcre\u00e7tir.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<ol>\n<li>\n    <strong>S: Ger\u00e7ek zamanl\u0131 bir veri g\u00f6l\u00fc mimarisi i\u00e7in ba\u015flang\u0131\u00e7 maliyetleri y\u00fcksek midir?<\/strong><br \/>\n    <strong>C:<\/strong> AWS'nin sunucusuz yap\u0131s\u0131 sayesinde, ba\u015flang\u0131\u00e7 maliyetleri geleneksel altyap\u0131ya g\u00f6re olduk\u00e7a d\u00fc\u015f\u00fckt\u00fcr. Sadece kulland\u0131\u011f\u0131n\u0131z kaynaklar i\u00e7in \u00f6deme yapars\u0131n\u0131z, yani b\u00fcy\u00fck bir \u00f6n yat\u0131r\u0131m yapman\u0131za gerek kalmaz. S3, Glue ve Athena'n\u0131n \"kulland\u0131k\u00e7a \u00f6de\" modeli, esneklik ve maliyet etkinli\u011fi sa\u011flar. Pilot projelerle k\u00fc\u00e7\u00fck ba\u015flay\u0131p, ihtiya\u00e7lar\u0131n\u0131za g\u00f6re \u00f6l\u00e7eklendirebilirsiniz.\n  <\/li>\n<li>\n    <strong>S: AWS Glue ETL i\u015fleri i\u00e7in hangi programlama dilini kullanmal\u0131y\u0131m?<\/strong><br \/>\n    <strong>C:<\/strong> AWS Glue ETL i\u015fleri genellikle PySpark (Python ile Spark) veya Scala ile yaz\u0131l\u0131r. PySpark, geni\u015f bir toplulu\u011fa sahip olmas\u0131, veri m\u00fchendisleri aras\u0131nda pop\u00fcler olmas\u0131 ve g\u00fc\u00e7l\u00fc veri i\u015fleme yetenekleri sunmas\u0131 nedeniyle genellikle tercih edilen dildir. Python'a a\u015fina olan ekipler i\u00e7in \u00f6\u011frenme e\u011frisi daha d\u00fc\u015f\u00fckt\u00fcr.\n  <\/li>\n<li>\n    <strong>S: Veri g\u00f6l\u00fcmdeki verilerin g\u00fcvenli\u011fini nas\u0131l sa\u011flayabilirim?<\/strong><br \/>\n    <strong>C:<\/strong> G\u00fcvenlik, veri g\u00f6l\u00fcn\u00fcn en kritik unsurlar\u0131ndan biridir. Amazon S3'te kova politikalar\u0131, IAM rolleri ve ACL'ler ile eri\u015fim kontrol\u00fc sa\u011flayabilirsiniz. Verileri \u015fifrelemek i\u00e7in S3 \u015fifreleme \u00f6zelliklerini (SSE-S3, SSE-KMS) kullan\u0131n. AWS Lake Formation, veri g\u00f6l\u00fcn\u00fcz \u00fczerinde merkezi bir g\u00fcvenlik ve y\u00f6netim katman\u0131 sunarak tablo ve s\u00fctun d\u00fczeyinde hassas eri\u015fim kontrolleri tan\u0131mlaman\u0131za olanak tan\u0131r. Ayr\u0131ca, AWS CloudTrail ile t\u00fcm API etkinliklerini denetleyerek izlenebilirlik sa\u011flay\u0131n.\n  <\/li>\n<li>\n    <strong>S: Veri g\u00f6l\u00fc ile veri ambar\u0131 aras\u0131ndaki temel fark nedir?<\/strong><br \/>\n    <strong>C:<\/strong> Temel fark, veri depolama ve \u015fema yakla\u015f\u0131m\u0131ndad\u0131r. Veri ambarlar\u0131 genellikle yap\u0131land\u0131r\u0131lm\u0131\u015f veriyi, \u00f6nceden tan\u0131mlanm\u0131\u015f bir \u015femaya (schema-on-write) g\u00f6re depolar ve genellikle i\u015f zekas\u0131 raporlar\u0131 i\u00e7in optimize edilmi\u015ftir. Veri g\u00f6lleri ise yap\u0131land\u0131r\u0131lm\u0131\u015f, yar\u0131 yap\u0131land\u0131r\u0131lm\u0131\u015f ve yap\u0131land\u0131r\u0131lmam\u0131\u015f t\u00fcm verileri orijinal formatlar\u0131nda, herhangi bir \u015fema dayatmadan (schema-on-read) depolar. Bu, veri g\u00f6llerini daha esnek hale getirir ve gelecekteki analizler i\u00e7in daha geni\u015f bir veri yelpazesi sunar.\n  <\/li>\n<li>\n    <strong>S: AWS Athena sorgu performans\u0131n\u0131 art\u0131rmak i\u00e7in ne yapabilirim?<\/strong><br \/>\n    <strong>C:<\/strong> Athena performans\u0131n\u0131 art\u0131rman\u0131n birka\u00e7 yolu vard\u0131r:<\/p>\n<ul>\n<li>Verilerinizi S3'te Parquet veya ORC gibi s\u00fctunsal formatlarda depolay\u0131n.<\/li>\n<li>Verileri s\u0131k\u0131\u015ft\u0131r\u0131n (\u00f6rne\u011fin GZIP).<\/li>\n<li>Sorgular\u0131n\u0131zda kullan\u0131lan anahtarlara g\u00f6re verileri do\u011fru \u015fekilde b\u00f6l\u00fcmleyin.<\/li>\n<li>S3'te \u00e7ok say\u0131da k\u00fc\u00e7\u00fck dosya yerine, daha b\u00fcy\u00fck boyutlu dosyalar (128 MB-1 GB) olu\u015fturmaya \u00e7al\u0131\u015f\u0131n.<\/li>\n<li><code>WHERE<\/code> c\u00fcmleciklerinde b\u00f6l\u00fcmleme anahtarlar\u0131n\u0131 kullanarak sorgu tarama miktar\u0131n\u0131 azalt\u0131n (predicate pushdown).<\/li>\n<li>Sorgular\u0131n\u0131z\u0131 optimize edin, gereksiz <code>JOIN<\/code> i\u015flemlerinden ka\u00e7\u0131n\u0131n ve yaln\u0131zca ihtiyac\u0131n\u0131z olan s\u00fctunlar\u0131 se\u00e7in.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><\/body><br \/>\n<\/html><\/p>\n","protected":false},"excerpt":{"rendered":"Devasa veri hacimleriyle ba\u015fa \u00e7\u0131kmak ve anl\u0131k i\u015f kararlar\u0131 alabilmek i\u00e7in geleneksel veri ambarlar\u0131 yetersiz kal\u0131yor. Bu makalede,&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1406],"tags":[],"class_list":{"0":"post-34970","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-aws","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>AWS ile Ger\u00e7ek Zamanl\u0131 Veri G\u00f6l\u00fc: S3, Glue, Athena \u00dcretimde<\/title>\n<meta name=\"description\" content=\"Devasa veri hacimleriyle ba\u015fa \u00e7\u0131kmak ve anl\u0131k i\u015f kararlar\u0131 alabilmek i\u00e7in geleneksel veri ambarlar\u0131 yetersiz kal\u0131yor. Bu makalede, AWS \u00fczerinde ger\u00e7ek zamanl\u0131 bir veri g\u00f6l\u00fc mimarisini S3, Glue ve Athena kullanarak nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, \u00fcretim ortam\u0131nda ba\u015far\u0131yla nas\u0131l \u00e7al\u0131\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m ke\u015ffedeceksiniz.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/aws-ile-gercek-zamanli-veri-golu-s3-glue-athena-uretimde\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AWS ile Ger\u00e7ek Zamanl\u0131 Veri G\u00f6l\u00fc: S3, Glue, Athena \u00dcretimde\" \/>\n<meta property=\"og:description\" content=\"Devasa veri hacimleriyle ba\u015fa \u00e7\u0131kmak ve anl\u0131k i\u015f kararlar\u0131 alabilmek i\u00e7in geleneksel veri ambarlar\u0131 yetersiz kal\u0131yor. Bu makalede, AWS \u00fczerinde ger\u00e7ek zamanl\u0131 bir veri g\u00f6l\u00fc mimarisini S3, Glue ve Athena kullanarak nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, \u00fcretim ortam\u0131nda ba\u015far\u0131yla nas\u0131l \u00e7al\u0131\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m ke\u015ffedeceksiniz.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/aws-ile-gercek-zamanli-veri-golu-s3-glue-athena-uretimde\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-24T05:01:00+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"24 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-ile-gercek-zamanli-veri-golu-s3-glue-athena-uretimde\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-ile-gercek-zamanli-veri-golu-s3-glue-athena-uretimde\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"AWS ile Ger\u00e7ek Zamanl\u0131 Veri G\u00f6l\u00fc: S3, Glue, Athena \u00dcretimde\",\"datePublished\":\"2025-11-24T05:01:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-ile-gercek-zamanli-veri-golu-s3-glue-athena-uretimde\/\"},\"wordCount\":4273,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"AWS\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/aws-ile-gercek-zamanli-veri-golu-s3-glue-athena-uretimde\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-ile-gercek-zamanli-veri-golu-s3-glue-athena-uretimde\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/aws-ile-gercek-zamanli-veri-golu-s3-glue-athena-uretimde\/\",\"name\":\"AWS ile Ger\u00e7ek Zamanl\u0131 Veri G\u00f6l\u00fc: S3, Glue, Athena \u00dcretimde\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-24T05:01:00+00:00\",\"description\":\"Devasa veri hacimleriyle ba\u015fa \u00e7\u0131kmak ve anl\u0131k i\u015f kararlar\u0131 alabilmek i\u00e7in geleneksel veri ambarlar\u0131 yetersiz kal\u0131yor. Bu makalede, AWS \u00fczerinde ger\u00e7ek zamanl\u0131 bir veri g\u00f6l\u00fc mimarisini S3, Glue ve Athena kullanarak nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, \u00fcretim ortam\u0131nda ba\u015far\u0131yla nas\u0131l \u00e7al\u0131\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m ke\u015ffedeceksiniz.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-ile-gercek-zamanli-veri-golu-s3-glue-athena-uretimde\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/aws-ile-gercek-zamanli-veri-golu-s3-glue-athena-uretimde\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-ile-gercek-zamanli-veri-golu-s3-glue-athena-uretimde\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AWS ile Ger\u00e7ek Zamanl\u0131 Veri G\u00f6l\u00fc: S3, Glue, Athena \u00dcretimde\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"AWS ile Ger\u00e7ek Zamanl\u0131 Veri G\u00f6l\u00fc: S3, Glue, Athena \u00dcretimde","description":"Devasa veri hacimleriyle ba\u015fa \u00e7\u0131kmak ve anl\u0131k i\u015f kararlar\u0131 alabilmek i\u00e7in geleneksel veri ambarlar\u0131 yetersiz kal\u0131yor. Bu makalede, AWS \u00fczerinde ger\u00e7ek zamanl\u0131 bir veri g\u00f6l\u00fc mimarisini S3, Glue ve Athena kullanarak nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, \u00fcretim ortam\u0131nda ba\u015far\u0131yla nas\u0131l \u00e7al\u0131\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m ke\u015ffedeceksiniz.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/aws-ile-gercek-zamanli-veri-golu-s3-glue-athena-uretimde\/","og_locale":"tr_TR","og_type":"article","og_title":"AWS ile Ger\u00e7ek Zamanl\u0131 Veri G\u00f6l\u00fc: S3, Glue, Athena \u00dcretimde","og_description":"Devasa veri hacimleriyle ba\u015fa \u00e7\u0131kmak ve anl\u0131k i\u015f kararlar\u0131 alabilmek i\u00e7in geleneksel veri ambarlar\u0131 yetersiz kal\u0131yor. Bu makalede, AWS \u00fczerinde ger\u00e7ek zamanl\u0131 bir veri g\u00f6l\u00fc mimarisini S3, Glue ve Athena kullanarak nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, \u00fcretim ortam\u0131nda ba\u015far\u0131yla nas\u0131l \u00e7al\u0131\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m ke\u015ffedeceksiniz.","og_url":"https:\/\/fatihsoysal.com\/blog\/aws-ile-gercek-zamanli-veri-golu-s3-glue-athena-uretimde\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-24T05:01:00+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"24 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/aws-ile-gercek-zamanli-veri-golu-s3-glue-athena-uretimde\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/aws-ile-gercek-zamanli-veri-golu-s3-glue-athena-uretimde\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"AWS ile Ger\u00e7ek Zamanl\u0131 Veri G\u00f6l\u00fc: S3, Glue, Athena \u00dcretimde","datePublished":"2025-11-24T05:01:00+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/aws-ile-gercek-zamanli-veri-golu-s3-glue-athena-uretimde\/"},"wordCount":4273,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["AWS"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/aws-ile-gercek-zamanli-veri-golu-s3-glue-athena-uretimde\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/aws-ile-gercek-zamanli-veri-golu-s3-glue-athena-uretimde\/","url":"https:\/\/fatihsoysal.com\/blog\/aws-ile-gercek-zamanli-veri-golu-s3-glue-athena-uretimde\/","name":"AWS ile Ger\u00e7ek Zamanl\u0131 Veri G\u00f6l\u00fc: S3, Glue, Athena \u00dcretimde","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-24T05:01:00+00:00","description":"Devasa veri hacimleriyle ba\u015fa \u00e7\u0131kmak ve anl\u0131k i\u015f kararlar\u0131 alabilmek i\u00e7in geleneksel veri ambarlar\u0131 yetersiz kal\u0131yor. Bu makalede, AWS \u00fczerinde ger\u00e7ek zamanl\u0131 bir veri g\u00f6l\u00fc mimarisini S3, Glue ve Athena kullanarak nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, \u00fcretim ortam\u0131nda ba\u015far\u0131yla nas\u0131l \u00e7al\u0131\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m ke\u015ffedeceksiniz.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/aws-ile-gercek-zamanli-veri-golu-s3-glue-athena-uretimde\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/aws-ile-gercek-zamanli-veri-golu-s3-glue-athena-uretimde\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/aws-ile-gercek-zamanli-veri-golu-s3-glue-athena-uretimde\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"AWS ile Ger\u00e7ek Zamanl\u0131 Veri G\u00f6l\u00fc: S3, Glue, Athena \u00dcretimde"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/34970","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=34970"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/34970\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=34970"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=34970"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=34970"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}