MongoDB ilişkisel olmayan yani NoSQL veritabanı. Peki ne demek bu ilişkisel olmayan? Yani düşünün ki veritabanı var, ama içinde ne tablo var, ne transactions (select, insert, update, delete gibi işlemler) var. Peki nasıl oluyor bu iş derseniz şöyle ki; MongoDB’yi benim anladığım JSON formatında verileri Array(dizi) olarak tutan bir veritabanı olarak düşünebiliriz. Yani bildiğimiz JSON formatı olduğu için çekilen verileri JSON teknikleri ile sayfaya dökebiliyoruz. Peki neden MongoDB derseniz, en önemli sebep kesinlikle HIZ. Popüler Big Data (Büyük Veri) işlemlerde büyük hız avantajı sağlıyor. Hız isteyenler ve büyük veri ile çalışanlar kesinlikle geçmeli yani. Bu bana MS Access’ten, MySQL’e geçtiğim zamanı hatırlattı. Zamanında Access yeterliyken, internet hızlandıkça, veriler arttı, bu oldukça da Access yetmemeye başladı ve Mysql’e geçildi. Aynı süreç henüz gerekmesede ileride MongoDB için yaşanabilir. Bunu ancak zaman gösterecek.
Dikkatinizi çektiyse iki yeni teknolojide de HIZ vurgusunu yaptım. Katıldığım bir etkinlikte söylendiğine göre LinkedIn son tasarım değiştirdiğinde aynı zamanda Node.JS ve MongoDB ikilisine geçiş yapmış, trafiği 2 kat artmasına rağmen sayfa açılış hızı ise 5 kat artmış. Bu muhteşem bir fark. Yorum Ekle 2013 Yılının En Popüler Programlama Dilleri
Devamını oku: 2013 Yılının En Popüler Programlama Dilleri Yorum Ekle MongoDB Nedir?
Yorum Ekle Arduino nedir ve ne değildir?
Devamını oku: Arduino nedir ve ne değildir? Yorum Ekle Agile Konferansı 27 Eylül'de İstanbul'da
Kar amacı gütmeyen Agile Turkey topluluğu; agile yaklaşımları uygulayan dünyanın önde gelen şirketlerinden profesyonelleri ve konusunda uzmanlaşmış konuşmacıları İstanbul?da bir araya getiriyor.
Agile Turkey Summit 2013 etkinliği, 27 Eylül Cuma günü Mövenpick Hotel/İstanbul?da düzenlenecek.
Agile Turkey Summit 2013; sadece Türkiye içinde değil yakın coğrafyalarda da zengin içeriği ve önemli konuklarıyla dikkat çekiyor. Etkinlikte; Salesforce.com, ING Bank, IBM ve Avea gibi şirketlerin yetkilileri konuşmacı olarak yer alıyor. Programın tamamına ise şuradan ulaşabilirsiniz. Yorum Ekle Open ofis 4.0 çıktı ( ücretsiz)
Open office 4.0 alıştığınızda Microsft ofis i aratmayacak bir yazılım. İndirmek için : http://www.openoffice.org/download/ Yorum Ekle 12c: Oracle Veritabanı Yeniden Yapılanıyor
Oracle, veritabanı yazılımının yeni sürümü olan 12c?yi 25 Haziran?da piyasaya sürdü. Hiç kuşkusuz 12c, Oracle?ın son on yılda üzerine en çok konuşulan veritabanı sürümü oldu. Bunun iki önemli sebebi var. Birincisi, Oracle 12c?nin, yaklaşık 8 ay önce Open World?de Larry Ellison tarafından tanıtılmasıyla başlayan uzun bekleme süreci. Resmi olarak duyurulmasından sonra, Oracle kullanıcıları merakla bu sürümün gelmesi beklediler. Sosyal ortamda ürünle ilgili her haber, her söylenti hızlıca yayıldı ve beklentilerin artmasına sebep oldu. Daha ürün yayınlanmadan çeşitli paylaşım sitelerinde ilgili haberler, getireceği yeniliklerle ilgili demonstrasyonlar yayınlandı. İkinci sebep, 12c?nin kendinden önceki Oracle sürümlerinin hiç birinde olmadığı kadar fazla geliştirmeyle gelmesiydi. Özellikle ?Oracle Multitenat? ile veritabanı mimarisinine getirdiği farklı yaklaşım, 12c?yi önceki sürümelerden ayırdı.
Oracle 12c Neler Getiriyor?
12c?nin basın açıklamasında, yeni veritabanının 2500 insan/yıl çalışma, 1.2 milyon saat test sonucunda 500 yeni özellikle birlikte geldiği vurgulanıyor. Ben bunlardan en önemli gördüklerimi derlemeye çalışınca ortaya bu liste çıktı:
1) Identity Kolonu:
Yıllardır Oracle kullanan yazılımcılar, sequence-trigger-performans problemleri üçgeninde boğuşmaktaydılar. Bu sorunu çözmek için 12c, bir çok veritabanında örneği bulunan otomatik sayı üretime özelliği ile geliyor. Şu şekilde yapılan bir tablo tanımı ilgili kolonun otomatik olarak sayı almasını sağlayacak:
CREATE TABLE ornek_table ( id NUMBER GENERATED ALWAYS AS IDENTITY, isim VARCHAR2(30));
Kullanılan teknoloji hala Oracle?ın sequence yapısını temel alsa da, elde edilen performans, sequence ve trigger ikilisinin kullanımından kat ve kat daha verimli.
2) 32k?lık Veri Tutabilen Varchar2/Nvarchar2
Yazılımcıların pek çok kez karşısına çıkan ve onları CLOB gibi pratik olmayan çözümlere iten VARCHAR2 ve NVARCHAR2?nin 4000 byte sınırlaması, 12c ile 32767 byte?a çıkarılıyor. Ama bu özellik varsayılan olarak aktif değil, aktif etmek istiyorsanız önce veritabanını UPGRADE modda açıp, MAX_STRING_SIZE parametresini EXTENDED olarak set etmeniz ve sonrasında ?/rdbms/admin/utl32k.sql? scritpini çalıştırmanız gerekiyor. Bu işlemi geri almanın mümkün olmadığına dikkat edin.
3) Top N ve Sayfalama Sorguları
Son kullanıcıya verileri listelerken yazılımcıların sıklıkla kullandığı ilk 10 kaydı getir, 20?şer 20?şer gelsin gibi sorgular daha önce WINDOW fonksiyonları veya ROWNUM ile yapılıyordu. Artık çok daha basit olarak bu yapılabiliyor:
SELECT * FROM ornek ORDER BY tarih FETCH FIRST 10 ROWS ONLY;
Eğer sayfalama yapmak istiyorsak OFFSET ve NEXT ile şuna benzer sorgular yazabiliyoruz:
SELECT * FROM ornek ORDER BY tarih OFFSET 100 ROWS FETCH NEXT 20 ROWS ONLY;
4) Online Veri Dosyası (Datafile) Taşınması
Daha önce tablespace?i offline?a çekip, işletim sistemi komutlarıyla kopyalama yaptığımız dosya taşıma işlemleri artık online olarak yapılabiliyor:
ALTER DATABASE MOVE DATAFILE '/u01/oradata/users01.dbf' TO '/u02/oradata/yeni01.dbf';
Bu özellikle veritabanın kesintisiz hizmet vermesi açısından önemli bir özellik. İşlem normal dosya sisteminden ASM?e dosya transferini destekliyor.
5) Temporary Tablespace?in Redo Üretmemesi
Artık daha çok yazılımcı, global temporary tableları yani ?geçici tabloları? kullanıyor. Bu tablolarda yapılan işlemlerin recovery?ye ihtiyaç duymadığı için REDO üretmemesi beklenirken, temporary tablespace üzerinde yapılan her işlem undotable space?de ?undo? kayıtları ürettiği için bu undo kayıtlarının redo?su üretilmekteydi. 12c ile artık temporary tablespace üzerinde yapılan işlemlerin undo bilgisi, undo tablespace yerine temporary tablespace?de tutulabiliyor. Bu da bu işlemler için REDO üretimi ihtiyacını ortadan kaldırıyor. Aktive etmek için:
ALTER SYSTEM SET TEMP_UNDO_ENABLE=TRUE;
6) Partial Indexing on Partitioned Tables
Pek çok kez, sadece bir partition da yapılacak sorguları hızlandırmak adına o partition için index oluşturmaya ihtiyaç duymuşuzdur. 12c, partition ile ilgili birçok geliştirmeyle geliyor bunlardan biri de sadece istenilen/seçilen partitionlar üzerinde index oluşturulabilmesi. Bunun için, index oluşturulmamasını istediğiniz partitionların ?indexing? parametresini ?off? olarak belirleyip, oluşturacağınız indexin ?partition? olduğunu belirtmeniz yeterli:
Partitioning ile ilgili yenilikler bununla sınırlı değil, online olarak partition taşıma, tek SQL sorgusu ile birden fazla partition ekleyebilme gibi daha bir çok geliştirme yapılmış.
7) Automatic Data Optimization
Veritabanı Uzmanından beklenen görevlerden biri, verilerin farklı performans karakteristiklerine sahip storagelara doğru dağıtılmasını sağlayarak kaynakların verimli kullanımını sağlamaktır. Heat-map özelliği aktif edildiğinde, Oracle verilerin erişimini ?veri bloğu? seviyesinde takip etmeye başlıyor. Automatic Data Optimization, heat map tarafından toplanan verilere ve sizin belirlediğiniz politikalara göre bu veri bloklarının, farklı storage yapılarına taşınmasını ve taşınırken istenirse sıkıştırılmasını sağlanabiliyor.
8) Adaptive Execution Plan
Bir veritabanını diğerlerinden ayıran pek çok kriter olabilir ama sanırım en önemlilerinden biri hiç kuşkusuz ?optimizer? mekanizmasıdır. Veritabanına yolladığınız her sorgu için ?optimizer?, en iyi yürütme planı seçmeye çalışır ve böylece sorguların en hızlı şekilde sonuçlanmasını sağlar. Oracle 12c ile gelen Adaptive Execution Plan özelliği, sorgu çalışırken veri kümelerinden gelen veri miktarı gözetilerek daha iyi bir ?yürütme planının? seçilebilmesine olanak sağlıyor. Bu özellikle tablo/index istatistiklerin verinin karakterini doğru yansıtamadığı durumlarda bir kurtarıcı olabilir.
9) Flex ASM
Oracle 10g ile tanıştığımız ASM (Automatic Storage Management), aradan geçen yaklaşık 10 yıl içinde sadece RAC değil stand-alone veritabanı sunucuları için de tercih edilen bir yapı haline geldi. Oracle 12c ile gelen Flex ASM, ASM?in birden fazla sunucuda cluster şekilde çalışmasını sağlıyor. Her hangi bir ASM instance?ı fail etmesi durumunda diğer ASM instanceları hizmet vermeye devam ediyor. Bu yapı hem ASM?nin single point of failure yapısından kurtarıyor, hem de yük dengelemesi yapılabilmesini sağlıyor.
10) Oracle Multitenant
Oracle 12c, veritabanı yapısında köklü bir değişikliğe giderek artık, container veritabanı (CDB) içinde pluggable veritabanı (PDB) olarak adlandırılan alt veritabanları kullanımını desktekliyor. Gün geçtikçe popülerleşen bulut mimari ve sunucu konsolidasyonu açısından çok önemli olan bu özellik, şema bazlı çözümler yerine daha efektif ve güvenli bir alt yapı sunuyor. Oracle Multitenant, yama yönetimi, veritabanı kopyalama gibi görevler için de büyük kolaylıklar sağlıyor. Örneğin tek SQL ile veritabanının kopyası alınabiliyor:
CREATE PLUGGABLE DATABASE pdb3 FROM pdb1
Bu liste elbette ki tüm yenilikleri içermiyor, ama bu özellikler bile Oracle 12c?nin önceki sürümlerinden ne kadar farklı olduğunu gösteriyor. Bu sürümle birlikte, veritabanı kullanıcılarının genel prensibi olan, ?Release 2 sonrası yeni sürüme geçme alışkanlığı? kırılabilir ve yakın zamanda canlı ortamlarında 12c?yi görmeye başlayabiliriz.
http://www.gokhanatil.com Yorum Ekle DERSLER