OrientDB Nedir? Neden Kullanılır?
OrientDB, İtalyan bir şirket tarafından geliştirilen, açık kaynaklı, çok modelli (multi-model) bir NoSQL veritabanıdır. Geleneksel ilişkisel veritabanlarının aksine, OrientDB hem belge (document), hem grafik (graph), hem anahtar-değer (key-value) hem de nesne (object) veritabanı özelliklerini tek bir platformda birleştirir. Bu esneklik, özellikle karmaşık ilişkiler içeren veya verinin yapısının zamanla değişebileceği uygulamalar için onu oldukça cazip kılar.
OrientDB’nin temel avantajları şunlardır:
- Çok Modelli Yaklaşım: Tek bir sistemde farklı veri modellerini destekleyerek geliştirme sürecini basitleştirir.
- Yüksek Performans: Özellikle bağlı veriler (connected data) üzerinde hızlı sorgular yapabilme yeteneği ile öne çıkar. Grafik veritabanı motoru sayesinde, derin ilişkisel sorgular geleneksel RDBMS’lere göre çok daha hızlıdır.
- Esneklik: Şemasız (schemaless), şemalı (schema-full) veya şema melez (schema-hybrid) yaklaşımlarını destekler, bu da veri modelinizi ihtiyaçlarınıza göre ayarlamanıza olanak tanır.
- Ölçeklenebilirlik: Hem yatay hem de dikey ölçeklenebilirlik sunar.
- Güvenlik: Rol tabanlı erişim kontrolü, şifreleme gibi gelişmiş güvenlik özellikleri sunar.
Bu rehberde, OrientDB’nin Ubuntu 14.04 işletim sistemi üzerinde nasıl kurulacağını ve temel yapılandırmalarının nasıl yapılacağını adım adım öğreneceksiniz. Ubuntu 14.04 eski bir sürüm olmasına rağmen, bu rehber spesifik olarak bu ortama odaklanmaktadır.
Ön Gereksinimlerin Hazırlanması
OrientDB, Java tabanlı bir uygulama olduğu için sisteminizde Java Geliştirme Kiti (JDK) kurulu olması zorunludur. Ayrıca, indirdiğimiz OrientDB paketini açmak için unzip aracına ihtiyacımız olacak.
1. Sistem Güncellemesi
Kuruluma başlamadan önce sistem paket listesini güncelleyelim ve mevcut paketleri yükseltelim. Bu, olası bağımlılık sorunlarını önlemeye yardımcı olur.
sudo apt-get update
sudo apt-get upgrade -y
2. Java Geliştirme Kiti (JDK) Kurulumu
Ubuntu 14.04 için OpenJDK 7 veya OpenJDK 8 genellikle stabil ve uyumludur. Bu rehberde OpenJDK 7 kurulumunu göstereceğiz. Eğer sisteminizde farklı bir Java sürümü kuruluysa veya OpenJDK 8 tercih ediyorsanız, ilgili paket adını kullanabilirsiniz (örn: openjdk-8-jdk).
sudo apt-get install openjdk-7-jdk -y
Kurulum tamamlandıktan sonra, Java’nın doğru bir şekilde kurulup kurulmadığını ve varsayılan sürümünü kontrol edebilirsiniz:
java -version
javac -version
Çıktıda Java sürüm bilgilerini görmelisiniz.
3. Unzip Aracı Kurulumu
OrientDB kurulum paketini açmak için unzip aracına ihtiyacımız olacak. Çoğu Ubuntu sisteminde kurulu olsa da, emin olmak için kuralım:
sudo apt-get install unzip -y
OrientDB Kurulumu
Ön gereksinimleri tamamladığımıza göre, şimdi OrientDB’yi indirip sistemimize kuralım.
1. OrientDB Paketini İndirme
OrientDB’nin çeşitli sürümleri bulunmaktadır. Bu rehber için, OrientDB’nin stabil bir sürümünü (örneğin 2.x veya 3.x’in başları) resmi web sitesinden veya arşivinden indirmeniz gerekmektedir. Genellikle Community Edition yeterli olacaktır. İndirme linkini OrientDB’nin resmi sitesinden (archive bölümünden) alabilirsiniz. Örnek olarak, 2.2.37 sürümünü indirelim:
cd /tmp
wget https://orientdb.com/download/orientdb-community-2.2.37.zip
Not: Yukarıdaki URL, OrientDB’nin eski bir sürümüne örnektir. Kendi kurulumunuz için OrientDB’nin resmi web sitesindeki “Download” veya “Archive” bölümünden güncel ve istediğiniz sürümün linkini almanız önemlidir.
2. Kurulum Dizinini Oluşturma ve Paketi Çıkarma
OrientDB için genellikle /opt dizini altında bir kurulum dizini oluşturmak iyi bir pratiktir.
sudo mkdir /opt/orientdb
sudo unzip /tmp/orientdb-community-2.2.37.zip -d /opt/orientdb/
Bu komut, indirilen zip dosyasını /opt/orientdb dizinine çıkaracaktır. Çıkarma işlemi sonrası, OrientDB dosyaları /opt/orientdb/orientdb-community-2.2.37 gibi bir alt dizinde bulunacaktır. Daha kolay erişim için bir sembolik link oluşturabiliriz:
sudo ln -s /opt/orientdb/orientdb-community-2.2.37 /opt/orientdb/current
Artık OrientDB’ye /opt/orientdb/current yolu üzerinden erişebiliriz.
3. Dizin İzinlerini Ayarlama
OrientDB sunucusunun sorunsuz çalışabilmesi ve veri yazabilmesi için gerekli dosya izinlerini ayarlamamız gerekiyor. Genellikle OrientDB için özel bir kullanıcı oluşturmak en iyi güvenlik uygulamasıdır, ancak bu rehberde basitlik adına OrientDB dizininin sahipliğini mevcut kullanıcıya vereceğiz veya uygun izinleri ayarlayacağız.
Önce, OrientDB için özel bir kullanıcı oluşturalım:
sudo adduser --system --no-create-home orientdb
sudo chown -R orientdb:orientdb /opt/orientdb/current
sudo chmod -R 755 /opt/orientdb/current
Bu adımlar, OrientDB dizininin sahipliğini orientdb kullanıcısına ve grubuna verir ve gerekli okuma/yazma/çalıştırma izinlerini ayarlar.
OrientDB Yapılandırması ve Başlatma
OrientDB’yi kurduktan sonra, bazı temel yapılandırmaları yapmamız ve sunucuyu başlatmamız gerekiyor.
1. Varsayılan Kullanıcı Şifresini Değiştirme
Güvenlik açısından, OrientDB’nin varsayılan root kullanıcısının şifresini değiştirmek kritik öneme sahiptir. Bu ayarlar /opt/orientdb/current/config/orientdb-server-config.xml dosyasında bulunur.
sudo nano /opt/orientdb/current/config/orientdb-server-config.xml
Dosyayı açtıktan sonra, bölümünü bulun ve root kullanıcısının password özelliğini güçlü bir şifre ile değiştirin:
Değişiklikleri kaydedip dosyayı kapatın (Ctrl+X, Y, Enter).
2. Bellek Ayarlarını Yapılandırma
OrientDB’nin performansını optimize etmek için Java Sanal Makinesi (JVM) bellek ayarlarını düzenlemek önemlidir. Bu ayarlar /opt/orientdb/current/bin/server.sh veya orientdb.sh dosyasında bulunur.
sudo nano /opt/orientdb/current/bin/server.sh
Dosyayı açtığınızda JAVA_OPTS değişkenini arayın. Genellikle aşağıdaki gibi bir satır göreceksiniz:
JAVA_OPTS="-Xmx2048m -Dorientdb.build.number=@BUILD@ -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Drhino.opt.level=9"
Buradaki -Xmx2048m değeri, JVM’nin kullanabileceği maksimum heap bellek miktarını (bu örnekte 2 GB) belirtir. Sunucunuzun RAM kapasitesine göre bu değeri ayarlayabilirsiniz. Örneğin, 4 GB RAM’i olan bir sunucuda -Xmx3072m (3 GB) gibi bir değer kullanabilirsiniz. Ayrıca -Xms ile başlangıç bellek miktarını da belirleyebilirsiniz (örn: -Xms512m).
Değişiklikleri kaydedip dosyayı kapatın.
3. OrientDB Sunucusunu Başlatma
OrientDB sunucusunu manuel olarak başlatmak için orientdb kullanıcısı olarak aşağıdaki komutu çalıştırın:
sudo su - orientdb
cd /opt/orientdb/current/bin
./server.sh
Bu komut, sunucuyu ön planda başlatacaktır. Konsolda OrientDB’nin başarıyla başlatıldığına dair mesajları görmelisiniz. Sunucuyu arka planda çalıştırmak için nohup kullanabilirsiniz:
cd /opt/orientdb/current/bin
nohup ./server.sh &
Sunucunun başlatıldığını kontrol etmek için OrientDB’nin varsayılan HTTP portu olan 2480’in dinlenip dinlenmediğini kontrol edebilirsiniz:
netstat -tulnp | grep 2480
Eğer OrientDB’nin bir servis olarak otomatik başlamasını istiyorsanız, Ubuntu 14.04’ün kullandığı Upstart veya SysVinit için özel bir servis betiği oluşturmanız gerekecektir. Bu, bu rehberin kapsamı dışındadır ancak ileri düzey bir yapılandırmadır.
OrientDB Kullanımı ve Doğrulama
OrientDB sunucusu çalışır durumda olduğuna göre, şimdi tarayıcı tabanlı yönetim arayüzü olan OrientDB Studio’ya erişerek kurulumu doğrulayabilir ve ilk veritabanımızı oluşturabiliriz.
1. OrientDB Studio’ya Erişim
Web tarayıcınızı açın ve aşağıdaki adrese gidin:
http://:2480
Eğer yerel makinenizde kurduysanız:
http://localhost:2480
Karşınıza OrientDB Studio giriş ekranı gelecektir. Burada root kullanıcı adını ve bir önceki adımda belirlediğiniz yeni şifrenizi girerek giriş yapın.
2. Yeni Bir Veritabanı Oluşturma
Studio arayüzüne giriş yaptıktan sonra, sol üst köşede “Create a new DB” veya benzeri bir seçenek göreceksiniz. Buraya tıklayarak yeni bir veritabanı oluşturabilirsiniz:
- Database Name:
testdb - Database Type:
Graph(veya Document) - User:
admin(veya yeni bir kullanıcı oluşturabilirsiniz) - Password: Güçlü bir şifre belirleyin
Veritabanını oluşturduktan sonra, Studio arayüzü sizi yeni oluşturduğunuz veritabanının kontrol paneline yönlendirecektir. Burada SQL benzeri sorgular çalıştırabilir, verileri görüntüleyebilir ve yönetebilirsiniz.
3. Temel Sorgu Çalıştırma
Oluşturduğunuz testdb veritabanına bağlandıktan sonra, Studio’daki “Browse” veya “Query” sekmesine giderek basit bir SQL sorgusu çalıştırabilirsiniz. Örneğin, yeni bir sınıf (class) oluşturalım ve içine bir kayıt ekleyelim:
CREATE CLASS Person EXTENDS V
CREATE PROPERTY Person.name STRING
CREATE INDEX ON Person.name UNIQUE
INSERT INTO Person SET name = 'Ali', age = 30
INSERT INTO Person SET name = 'Ayşe', age = 25
SELECT FROM Person
Bu sorguları çalıştırdığınızda, OrientDB’nin verileri başarılı bir şekilde depoladığını ve sorgulayabildiğini göreceksiniz. Bu, OrientDB kurulumunuzun ve temel yapılandırmanızın başarılı olduğu anlamına gelir.
Sonuç ve Sıkça Sorulan Sorular (SSS)
Bu rehberde, Ubuntu 14.04 üzerinde OrientDB’yi adım adım nasıl kuracağınızı, temel ön gereksinimleri nasıl hazırlayacağınızı, sunucuyu nasıl yapılandıracağınızı ve OrientDB Studio’yu kullanarak kurulumu nasıl doğrulayacağınızı öğrendiniz. Artık çok modelli veritabanınızla çalışmaya hazırsınız. Unutmayın, üretim ortamları için güvenlik ve performans ayarlarının daha detaylı bir şekilde yapılması gerekmektedir.
Sıkça Sorulan Sorular (SSS)
1. OrientDB sunucusu neden başlatılamıyor?
- Java Yolu: Java’nın doğru bir şekilde kurulu olduğundan ve
javakomutunun sistem yolunda bulunduğundan emin olun.java -versionkomutunu kontrol edin. - Bellek Yetersizliği:
JAVA_OPTSiçindeki-Xmxdeğeri sunucunuzun fiziksel belleğinden fazlaysa, sunucu başlamayabilir. Bu değeri azaltmayı deneyin. - Port Çakışması: OrientDB’nin kullandığı 2424 (Binary) ve 2480 (HTTP) portları başka bir uygulama tarafından kullanılıyor olabilir.
netstat -tulnpkomutuyla kontrol edin. - İzinler: OrientDB kurulum dizinindeki dosya ve dizinlere
orientdbkullanıcısının erişim ve yazma izinleri olduğundan emin olun.
2. OrientDB Studio’ya erişemiyorum (http://localhost:2480). Ne yapmalıyım?
- Sunucu Çalışıyor mu? OrientDB sunucusunun çalıştığından emin olun (
netstat -tulnp | grep 2480). - Güvenlik Duvarı: Ubuntu’nun güvenlik duvarı (UFW) 2480 portunu engelliyor olabilir. Portu açmak için
sudo ufw allow 2480/tcpkomutunu kullanın. - Yanlış IP: Eğer sunucuya uzaktan erişmeye çalışıyorsanız,
localhostyerine sunucunun IP adresini kullandığınızdan emin olun.
3. Varsayılan OrientDB kullanıcı adı ve şifresi nedir?
Varsayılan olarak, OrientDB sunucusuna erişim için root kullanıcı adı ve admin şifresi kullanılır. Ancak bu rehberde de belirtildiği gibi, güvenlik açısından bu şifreyi değiştirmek zorunludur.
4. OrientDB performansını nasıl artırabilirim?
- Bellek Ayarları:
server.shdosyasındakiJAVA_OPTSdeğişkenindeki-Xmxdeğerini sunucunuzun RAM’ine uygun şekilde artırın. - İndeksleme: Sıkça sorgulanan alanlara indeksler ekleyin (Örn:
CREATE INDEX ON Person.name UNIQUE). - Veritabanı Yapısı: Veri modelinizi OrientDB’nin grafik veya belge doğasına uygun şekilde tasarlayın.
- Sorgu Optimizasyonu: Sorgularınızı daha verimli hale getirin, gereksiz taramalardan kaçının.
5. Ubuntu 14.04 yerine daha yeni bir Ubuntu sürümü kullanabilir miyim?
Evet, kesinlikle! Ubuntu 14.04 eski bir işletim sistemi sürümüdür ve artık güvenlik güncellemeleri almamaktadır. Üretim ortamları için her zaman güncel ve desteklenen bir işletim sistemi (örneğin Ubuntu 20.04 LTS veya 22.04 LTS) kullanmanız şiddetle tavsiye edilir. Kurulum adımları büyük ölçüde benzer olmakla birlikte, Java sürümleri ve servis yönetimi (systemd yerine upstart/sysvinit) gibi bazı küçük farklılıklar olabilir.