PostgreSQL ile NoSQL. Gereksinimlerinizi Karşılamak

Benzer belgeler
PostgreSQL - Yeni dönemdeki yeri

PostgreSQL'de Uygulamalı. (Streaming Replication. Standby)

Büyük veri ile neler yaptık?

PostgreSQL - Yeni dönemdeki yeri

PostgreSQL ile Kümeleme Teknikleri

RPM Hazırlama Sanatı

PostgreSQL 9.3 Kullanılabilirlik ve Başarım

EnterpriseDB Kalitesi ile Tanıştırma. Devrim GÜNDÜZ Principal Systems Engineer EnterpriseDB

PostgreSQL'de Ölçekleme

Oracle'dan PostgreSQL'e geçiş

Günümüzde Postgres. Modern, Ölçeklenebilir Uygulamalar. Utku Azman Citus Data PGDay citusdata.com

PHP+Memory Cache+PostgreSQL Kullanarak Performanslı Veritabanı Uygulaması Geliştirme

Open Source Coding: Python

PostgreSQL Veritabanı Sunucusu Devrim GÜNDÜZ.

NoSql ve MongoDB. Saygın Topatan

PostgreSQL ve PL/pgSQL

Kodlamadan Dağıtıma PostgreSQL'de Eklenti Geliştirmek Burak Yücesoy

PHP'ye Giriş Türkiye PHP Grubu - Linux Şenlikleri PHP Eğitim / Tanıtım Seminerleri Ankara, 11 Mayıs 2006 Hidayet Doğan <hdogan@hido.

Veri Tabanı Yönetim Sistemleri Bölüm - 3

LINQ (Temel Kavramlar)

Semantik Ağ ve Üst Veri Sistemleri İçin Yeni Nesil Veri Tabanı Yönetim Modeli: NoSQL. R. Orçun Madran Atılım Üniversitesi.

Postgresql: Web Programcısı için Gündelik İpuçları Postgres 2014 Türkiye

PostgreSQL ve PL/pgSQL

Turquaz. Açık kodlu muhasebe yazılımı Turquaz Proje Grubu

NoSQL. SQL ve Daha Fazlası (Not Only SQL) Hazırlayan: Ahmet Cevahir ÇINAR

MongoDB. NoSQL Database

16 Ekim 2010 Özgür Web Günleri Yeditepe Üniversitesi. Nosql Veritabanları

PostgreSQL Veritabanı Sunucusu. 8.2 neler getiriyor?

PHP Günleri 2013#1. mysql_* Fonksiyonları Ömrünü Doldurmak Üzere. Peki Şimdi Ne Olacak? Özgür Yazılım A.Ş.

PostgreSQL Veritabanı Sunucusu. Başarım Arttırma Yöntemleri

ORM & Hibernate. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu

PostgreSQL Veritabanı Sunucusu. HOT, VACUUM ve BGWRITER

PL/pgSQL SQL Yordamsal Dili

CODEIGNITER SEMINERI KÜTÜPHANE YAZMA GÜVENLIK ÖNLEMLERI CODEIGNITER 2.0

5. Türkiye PostgreSQL Konferansı - PGDay.Istanbul. Sponsorluk Dosyası.

TESİ. indeks. söylenebilir?? bir ilişkidir d) Hiçbiri. veya somutlaştırılmış. düzeyidir? sağlayabilir? sına. d) Hepsi. olabilir? c) Verilerin d) Hepsi

ORACLE ORACLE BIG DATA DISCOVERY + ORACLE BIG DATA APPLIANCE + ORACLE BIG DATA CONNECTORS + ORACLE EXADATA RÖPORTAJ. Büyük Veri. Mevcut Kurumsal Veri

ProFTPD FTP Sunucusu. Devrim GÜNDÜZ. TR.NET Sistem Destek Uzmanı.

M2m Sistemlerde Sql Veya Nosql Kullanimi. Using Sql Or Nosql In M2m Systems

Mobil Cihazlarda Gömülü Veritabanlarının Karşılaştırılması: SqLite ve CouchBase Lite

ÖZGÜR YAZILIMLAR İLE J2EE

İnternet Programcılığı

Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz.

Kriz Yönetim Yazılımlarında PostgreSQL

Veri Tabanı Sistemleri

Araştırma Raporu MUSTAFA AFYONLUOĞLU

POSTGRESQL'de İleri Seviyede Veri Kurtarma ve Yedekleme

MongoDB. Doğan Aydın. Eylül, 2011

Python Web 2.0 Python ve Web 2.0 Son. Python ve Web 2.0. Gökmen GÖKSEL, 3 Mayıs 2007

Sunum Planı. Django Nedir? Django projesi oluşturmak Basit bir blog uygulaması. Şablon Kullanımı Diğer özellikleri

Kurumsal Masaüstü ve Sunucularda Pardus

Büyük veriye genel bakış, mimari ve çözümler

JSON Korsanlığı. Mesut Timur, Şubat 2010, WGT E-Dergi 4. Sayı

ULUSAL AKADEMİK AĞ VE BİLGİ MERKEZİ

ELIF KIOTZEOGLOU RESUL MURAD MERT PACOLARI

Web Uygulama Pentest Eğitimi

PHP ye Giriş. Hidayet Doğan

EK:1 ÇEVRE VE ŞEHİRCİLİK BAKANLIĞINDA İSTİHDAM EDİLMEK ÜZERE SÖZLEŞMELİ BİLİŞİM PERSONELİ ALINACAKTIR

Oracle'dan PostgreSQL'e geçiş

İş Zekası için Dört-Katmanlı Veri Modellemesi Gerçekleştirimi. Harun Gökçe EG Yazılım, TOBB ETÜ

Python GELECEK. Barış Metin Linux Sistemleri. Python Programlama Dili

9/21/2016

SQL Server 2008 ile Tanışma"

Veritabanı Tasarımı. İndeksler ve Eşanlamlar

Şişli Mesleki ve Teknik Anadolu Lisesi Web Programcılığı Dalı 2014 WEB PROGRAMCILIĞI DALI

Pardus. A. Murat Eren, 25 Mart Pardus Geliştiricisi. Pardus Yenilikleri Sık Sorulan Sorular

Bölüm 10: PHP ile Veritabanı Uygulamaları

Tom PROBERT MapInfo Pro Global Üretim Müdürü. Büyük Veri ve (potansiyel) etkiler

Özgür Yazılımlarla Web Programlama. Özlem Özgöbek

Veritabanlarına ve SQL'e Giriş. Devrim GÜNDÜZ. Teknoloji Destek Merkezi --

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi

Başlık: Windows Sistem Yöneticisi Yardımcısı

Google Search API ile ajax arama

İNTERNET PROGRAMCILIĞI DERSİ ÇALIŞMA SORULARI

PostgreSQL'de Güvenlik

TÜRKSAT UYDU HABERLEŞME KABLO TV VE İŞLETME A.Ş. İŞÇİ STATÜSÜNDE PERSONEL ALIM İLANI (Bilişim Hizmetleri)

İleri Seviyede PostgreSQL Yönetimi Devrim GÜNDÜZ. PostgreSQL Geliştiricisi PostgreSQL Markafoni

KULLANICI TANIMLI FONKSİYONLAR (Devam)

Bölüm 1: Veritabanı Yönetim Sistemlerine Giriş

CBS Arc/Info Kavramları

Özgür Yazılım, İş ve Kariyer Modelleri. Mahir B. Aşut EkoPC Kurucu Ortağı ve Yöneticisi, LKD Üyesi

PHP CodeIgniter MVC Framework

Öğr. Gör. Serkan AKSU 1

PHP 1. Hafta 1. Sunum

Zope Uygulama Sunucusu

VERĐTABANLARINA GĐRĐŞ

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi

Sadece 2 İstekle MySQL Blind SQL Injection. Canberk BOLAT canberk.bolat[-at-]gmail[-dot-]com

1. Oracle Data Miner 11g Release 2 Kurulumu Aşamaları

Programlama Dilleri sıralaması Programlama Dilleri sıralaması 2016

SQL e Giriş. Uzm. Murat YAZICI

Web Programlama Kursu

GNU/Linux ve Özgür Yazılım. Mahir B. Aşut EkoPC Kurucu Ortağı ve Yöneticisi, LKD Üyesi

A. Murat Eren. VI. Linux ve Özgür Yazılım Şenliği

Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015

Sunucu Taraflı JavaScript ile Gerçek Zamanlı Web Uygulamaları Geliştirme

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

1 Milyon Kullanıcıya Nasıl Hizmet Veriyoruz? CloudLMS Teknik Alt Yapı ve Mimarimiz

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

VERİ TABANI PROGRAMCILIĞI DALI

Transkript:

PostgreSQL ile NoSQL Presentation Title Gereksinimlerinizi Karşılamak Presentation Sub-Title Devrim GÜNDÜZ @DevrimGunduz @DevrimGunduzTR Principal Systems Engineer EnterpriseDB devrim.gunduz@enterprisedb.com Copyright 2010 EnterpriseDB Corporation. All rights Reserved. Slide: 1

Bu anlatan da kim? Bu anlatan da kim? Zararlı fanatik seviyesinde açık kaynak kod kullanıcısıyım. PostgreSQL'in ana katkıcılarından birisiyim. 1997 yılından beri masaüstünde Linux kullanıyorum. Fedora geliştiricisiyim. Kod yazmıyorum (pek). EnterpriseDB'de çalışıyorum. Eğlenceli bir işim var. İstanbul'da yaşıyorum. Metal dinliyorum (genelde) Bir oğlum var (o da rock dinleyicisi). 2

Uyarı! 45 dakikalık seminer! umarım konuya girebilirim ;) 3

Uyarı! Kaynaklar seminerin sonunda! 4

Başlamadan önce Dikkat: İlişkisel veritabanları ile NoSQL birbirlerinin rakibi değiller. Melez ortamlara tabii ki evet -- ilişkisel veritabanlarını tamamen kaldırmaya hayır. Dün burada eğlenceli birşeyler olmuş ;) Oracle kötü bir veritabanıdır (!!!) 5 yıl ömür (!!!) Ben yazılımcı değilim; ona göre dinleyin. Yazılım geliştiriciler? Evet, sizler de dikkatle dinleyin. 5

Başlamadan önce Geliştiriciler: Hepsi sizin yüzünüzden ;) LAMP -> MySQL NoSQL......derken, siz de şunu söyleyebilirsiniz: 6

7

NoSQL? Daha güzel bir ad? (Peki, PostgreSQL'den daha kötü mü? Belli değil) Geleneksel ilişkisel veritabanı modelinden çok farklı. Bugün bu ikisini çarpıştırmayacağız. 8

Ajanda Neden tek veritabanı (=PostgreSQL)? PostgreSQL ile NoSQL gereksinimlerinizi karşılama XML Hstore JSON PL/V8 Kaynaklar Sorular 9

Ajanda Neden tek veritabanı (=PostgreSQL)? 10

Neden tek veritabanı? Gerçekte böyle birşey yok Belki de var. Bakım ve yönetim kolaylıkları Teknik farklar 11

Neden tek veritabanı? CAP teoremi (Brewer) PostgreSQL: Consistency, Availability NoSQL veritabanları: Availability, Partition tolerance (Cassandra gibi CP olanlar da var) NoSQL veritabanları kötü mü? Hayır! Ölçekleme derdini güzelce çözdükleri kesin. (şşşt, memcached! Facebook, Twitter, Reddit...) PostgreSQL ölçekleyemiyor mu? XC, HS, PL/Proxy... XC = CAP olabilir mi? 12

Ajanda PostgreSQL'de NoSQL gereksinimlerinizi karşılamak 13

PostgreSQL'de NoSQL gereksinimlerinizi karşılamak Schemaless!= unstructured Key-value 14

PostgreSQL'de NoSQL gereksinimlerinizi karşılamak JSON XML Hstore 15

PostgreSQL'de NoSQL gereksinimlerinizi karşılamak XML XML çıktığında doğanlar şimdi üniversite öğrencisi SGML tabanlı 16

PostgreSQL'de NoSQL gereksinimlerinizi karşılamak XML Christophe Pettus: XML'in kullanıldığı en önemli yer, Tomcat yapılandırma dosyasıdır ;) 17

PostgreSQL'de NoSQL gereksinimlerinizi karşılamak PostgreSQL'de XML 2 GB'a kadar veri tutar PostgreSQL'in içinde gelir. Desteği eski sayılır, geniş fonksiyon çeşidi ile gelir. 18

PostgreSQL'de NoSQL gereksinimlerinizi karşılamak Hstore Aradığınız şey! Extension olarak gelir (kaynak kodla beraber dağıtılır, ama core içinde değildir) CREATE EXTENSION hstore; Key-value değerlerini PostgreSQL'de saklar. Metin bilgileri içerir http://www.postgresql.org/docs/devel/static /hstore.html Indexlenebilirler! (GIN, GiST) (expression index desek?) 19

PostgreSQL'de NoSQL gereksinimlerinizi karşılamak Hstore fonksiyonları (Christophe Pettus'un sunumundan) h-> a (a anahtarının değerini al). h? a (h a anahtarını içeriyor mu?) h@> a->2 (a anahtarı 2 içeriyor mu?) 20

PostgreSQL'de NoSQL gereksinimlerinizi karşılamak JSON! Biliyorum, hepiniz bunu bekliyorsunuz. JSON ne demekti? :( 21

PostgreSQL'de NoSQL gereksinimlerinizi karşılamak JSON! JavaScript Object Notation! Merhaba MongoDB, merhabaaaa. Python ve Ruby geliştiricilerinin aşkı! 22

PostgreSQL'de NoSQL gereksinimlerinizi karşılamak PostgreSQL'de JSON veri tipi 9.2 ile beraber core içinde Çok birşey beklememek gerekli Sadece validation. 9.3'de özellikleri iyice artıyor. Indexlenebilir (yine expressional!) 23

PostgreSQL'de NoSQL gereksinimlerinizi karşılamak PL/V8 V8 JS motoru (Google'dan) Core içinde değil: http://code.google.com/p/plv8js/ JS fonksiyonlarını PostgreSQL içinde yazabilme 24

PostgreSQL'de NoSQL gereksinimlerinizi karşılamak CREATE FUNCTION to_jsontext(keys text[], vals text[]) RETURNS text AS $$ var o = {}; for (var i = 0; i < keys.length; i++) o[keys[i]] = vals[i]; return JSON.stringify(o); $$ LANGUAGE plv8 IMMUTABLE STRICT; SELECT to_jsontext(array['age', 'sex'], ARRAY['21', 'female']); to_jsontext ----------------------------- {"age":"21","sex":"female"} (1 row) 25

Ajanda Kaynaklar 26

Kaynaklar https://wiki.postgresql.org/images/b/b4/pg-as -nosql-pgday-fosdem-2013.pdf http://www.scribd.com/doc/31669670/postgre SQL-and-NoSQL http://www.postgresql.org/docs/devel 27

Ajanda Sorular? 28

PostgreSQL ile NoSQL Presentation Title Gereksinimlerinizi Karşılamak Presentation Sub-Title Devrim GÜNDÜZ @DevrimGunduz @DevrimGunduzTR Principal Systems Engineer EnterpriseDB devrim.gunduz@enterprisedb.com Copyright 2010 EnterpriseDB Corporation. All rights Reserved. Slide: 29