SQL Server’da Fulltext Arama Üzerine Yeni Bir Yaklaşım – Ev Yapımı Fulltext

İlişkisel veritabanları dikeyde arama yapar. Yani bu sistemler satırlarda arama yapmak için tasarlanmıştır. Performansı da gayet iyidir.
Peki ya yatayda durumlar nasıl?
Yatayda dediğim konu verilerin bir sütunda text olarak tutulması. Arka arkaya tren vagonu gibi dizilmiş kelimeler, cümleler.
Örneğin bir özgeçmiş, kitap text’i, twitter verisi gibi yapılardan bahsediyorum. Buralarda bir kelimeyi aramak normal sql cümlesi ile yapılmaz. Fulltext search dediğimiz yapılar kullanılır.

Peki, hazırcılık yapmak yerine kendi fulltext search algoritmamızı yazmaya ne dersiniz?
4milyon satırlı bir e ticaret datasında milisaniye mertebesinde arama yapmaya?
Ya da 1000 satırlı bir e-kitap datasında kelime ararken yine milisaniye mertebesinde sonuç bulmaya?
Cevabı burada 🙂

SQL Öğrenme Üzerine…

Koskoca bir evrenin içinde yaşıyoruz. Yıldızlar, galaksiler, gezegenler… Ancak onlara herkesiN baktığı gibi bakarsak onların güzelliğini görmemiz imkansız. Çünkü çoğunluğun yaptığı şey zahmetsiz olandır. Aynı zamanda kıymetsiz. Şehrin meydanından, evin balkonundan gökyüzüne bakıp yıldızların güzellğinden bahsetmek olmaz.

Şehirlerdeki ışık kirliliği gökyüzünün mücevherlerini görmemizi engeller. Aşağıdaki fotoğrafta ışık kirliliğinin azaldıkça gökyüzünün nasıl berraklaştığını görüyorsunuz. Yani demek istediğim o ki, bir şeyi tam olarak görebilmek, gözlemleyebilmek, öğrenebilmek için ona doğru zamanda, doğru noktadan bakmalısınız ve etrafta size gerek olmayan herşeyden kurtulmalısınız.

Konuya böyle bir giriş yaptıktan sonra aslı meselemize gelmek isterim. Bir çok arkadaşımız üniversitede veritabanı, veritabanı yönetimi, veritabanı programlama dersleri adı altında SQL öğreniyor. Ancak teknikler hep tek düze.
Dört tane temel sql komutu,
50 satırdan oluşan TBLOGRENCI tablosu,
Tahtada yazılan kağıtta sorulan sınav soruları,
Sonrasında da “Abi sql mi kaldı herkes big data konuşuyor” diyen bilmiş öğrenci profili.

Sonuç itibariyle piyasada kullanılan uygulamaların bir çoğu hala yapısal veritabanlarını kullanıyor. Yani analiz edilecek verilerin büyük bir kısmı halen sql ile sorgulanıyor. Hiçbir şey yapılmasa bile ön işleme kısmı bu şekilde yapılıyor.
SQL sanıldığının aksine çok gelişmiş bir dil. Tabi TSQL ya da PLSQL gibi yapılardan bahsediyorum. Herhangi bir programlama dilinde yapabileceğiniz neredeyse her türlü işi sadece TSQL ya da PLSQL kullanarak yapabilirsiniz.
Ama bu iş dört tane komut ezberleyerek, tahtada öğrenip kağıtta yazarak yapılmaz.

  • Bir vt yönetim sisteminin nasıl çalıştığının bilinmesi gerekir.
  • Index diye geçtiğimiz şeyin 1 milyar satırda 1 dakikada gelen bir sorguyu 10 ms de nasıl geldiğinin görülmesi gerekir.
  • Bu kadar kıymetli olan verilerimizin başına bir iş geldiğinde nasıl kayıpsız yedekten dönülebileceğinin bilinmesi gerekir.
  • TSQL dili ile eldeki veriyi analiz etme, sorgulama, temizleme, düzenleme gibi işlemlerin nasıl yapılacağının bilinmesi gerekir.

Bunlarla giriş yaptıktan sonra zaten olaya karşı bir ilgi ve öğrenme isteği doğar ve şimdi burada madde madde yazmayacağım bir çok konu daha kendiliğinden öğrenilme aşamasına geçer.

İşte bu eksiklikleri görerek çeşitli eğitimler hazırladım Udemy’de.

Dedim ya evin balkonundan bakarak gökyüzünün güzellikleri görülmez. Yerine gitmen gerekir.

Hadi durma! SQL’i öğrenmek için kurslarıma bir gözat.

Veriyle konuşmanın alfabesi olan SQL dilini sıfırdan öğrenmek için (Konu hakkında hiçbir şey bilmesen bile) kendi 9.500 öğrencisi ile kategorisinin en çok satan kursu olan “Uygulamalarla SQL Öğreniyorum” kursunu bu link ile 24.99 TL’ye alabilirsin.

https://www.udemy.com/course/sql-ogreniyorum/?couponCode=AGUSTOS2

SQL dilini temel anlamda öğrendin. Fakat kendini daha da geliştirmek istiyorsun. İş hayatına ve mülakatlara hazırlanmak için gerçek hayat örnekleri, sorular ve alıştırmalar ile unutulmayacak şekilde hafızanıza kazınmasını istiyorsun.

O zaman sürekli yeni senaryo, veri setleri ve sorularla güncellenen, 70’ten fazla çözümlü soru videolarıyla, yayınlanalı henüz bir ay olmasına rağmen 2.150 öğrencisi ve 4.9 değerlendirme puanı ile “Alıştırmalarla SQL Öğreniyorum” kursu tam sana göre. Bu link ile 24.99 TL’ye alabilirsin.

https://www.udemy.com/course/sql-ogreniyorum/?couponCode=AGUSTOS2

“SQL dilini öğrendim ama bu bana yetmez. Ben bir veritabanı sistemini yönetmeyi, büyük veri ile uğraşmayı, performans sorunlarına çözüm üretmeyi istiyorum. Bir Database Admin olmak istiyorum” diyorsan o zaman 11.800 öğrencisi ile ve 4.75 değerlendirme puanı ile “Uçtan Uca SQL Server” kursuna mutlaka gözatmalısın. Bu link ile 24.99 TL’ye alabilirsin.

https://www.udemy.com/course/alistirmalarla-sql-ogreniyorum/?couponCode=AGUSTOS2

Sivas Bilim ve Teknoloji Üniversitesi ile Veritabanı Güvenliği konuştuk

Sivas Bilim ve Teknoloji Üniversitesi ile yaptığımız online seminerde Veritabanı Güvenliği üzerine konuştuk. Eski öğrencim olan sevgili Özlem Ceviz’in organize ettiği ve Üniversite Rektörü sayın Prof. Dr. Mehmet KUL’un da katıldığı etkinlikte.

Brute force saldırıları

SQL Injection saldırıları

Bu saldırılardan korunma yöntemleri üzerine canlı uygulamalı bir ders yaptık.

https://www.sivas.edu.tr/hdetay/veritabani-guvenligi-158

#sivas.edu.tr #sivasbtu #veritabanıgüvenliği #vtgüvenliği #dbsecurity #sqlserver #mssql

Erciyes’ten gece manzaraları

Bilen bilir. Amatör olarak fotograf merakım var. Özellikle de gece ve astrofotografçılığa ayrı bir ilgim var. Bu alanda en çok bilinenlerden olan sevgili Betül Türksoy’un daveti ile (https://twitter.com/betulturksoy_) Erciyes’te bir gece çekim etkinliğine katıldım. Zifiri karanlıkta 2.500 rakımda ışıl ışıl gökyüzü, temiz ve serin hava, milyonlarca yıldız size çok farklı bir deneyim yaşatıyor. Ayrıca güzel bir günbatımını ve #Neowise kuyruklu yıldızını da şehir ışıklarının hemen üstünde gözlemleme şansımız oldu.

Fotograflar burada. Umarım beğenirsiniz.

BTK Akademi Instagram Canlı Yayını

BTK Akademi’de veritabanı ve özellikle MSSQL konusunda 4 tane eğitimim var. #1milyonistihdam projesi kapsamında oluşturulan bu platformun ilk instagram canlı yayınını Kerem Kılıç ile birlikte gerçekleştirdik.

Veritabanı yönetimi

SQL

Yazılıma nereden başlamalı

Nasıl yol almalı gibi bir çok soruya cevaplar verdiğimiz canlı yayını buradan izleyebilirsiniz.

#btkakademi #btk #1milyonistihdam #birmilyonistihdam #sqlserver #sql #veritabanı #vt #mssql

Türkiye Siber Güvenlik Kümelenmesi – Veri Tabanı Güvenliği Eğitimi

Türkiye Siber Güvenlik Kümelenmesi’nin youtube kanalında canlı olarak 2 saatlik Veritabanı Saldırıları ve Veritabanı Güvenliği Eğitimi düzenledik. Canlı ortamda 300’den fazla kişinin izlediği eğitimde

Veritabanı sistemine nasıl saldırılar yapılır?

Brute Force saldırısı ile bir veritabanı sunucu şifresi nasıl kırılır?

Brute force ataklarına karşı nasıl savunma yapılır

SQL Injection ile bir sisteme nasıl saldırılır?

Gibi konuları uygulamalı şekilde işledik.

#skb #siberkulüplerbirliği #siberkümelenme #sibergüvenlikkümelenmesi #ssb #savunmasanayibaşkanlığı #dbsecurity #veritabanıgüvenliği #vtgüvenliği #mssql #sqlserver #bruteforce #sqlinjection

Tüm Kurslarım 25 TL (4 gün için)

Veritabanı Yönetimi ve Sorgulamayı Öğrenmek için daha fazla bekleme!

Veriyle konuşmanın alfabesi olan SQL dilini sıfırdan öğrenmek için (Konu hakkında hiçbir şey bilmesen bile) kendi 9.300 öğrencisi ile kategorisinin en çok satan kursu olan “Uygulamalarla SQL Öğreniyorum” kursunu bu link ile 24.99 TL’ye alabilirsin.

https://www.udemy.com/course/alistirmalarla-sql-ogreniyorum/?couponCode=TEMMUZFIRSAT

SQL dilini temel anlamda öğrendin. Fakat kendini daha da geliştirmek istiyorsun. İş hayatına ve mülakatlara hazırlanmak için gerçek hayat örnekleri, sorular ve alıştırmalar ile unutulmayacak şekilde hafızanıza kazınmasını istiyorsun.

O zaman sürekli yeni senaryo, veri setleri ve sorularla güncellenen, 70’ten fazla çözümlü soru videolarıyla, yayınlanalı henüz bir ay olmasına rağmen 2.150 öğrencisi ve 4.9 değerlendirme puanı ile “Alıştırmalarla SQL Öğreniyorum” kursu tam sana göre. Bu link ile 24.99 TL’ye alabilirsin.

https://www.udemy.com/course/sql-ogreniyorum/?couponCode=TEMMUZFIRSAT

“SQL dilini öğrendim ama bu bana yetmez. Ben bir veritabanı sistemini yönetmeyi, büyük veri ile uğraşmayı, performans sorunlarına çözüm üretmeyi istiyorum. Bir Database Admin olmak istiyorum” diyorsan o zaman 11.500 öğrencisi ile ve 4.75 değerlendirme puanı ile “Uçtan Uca SQL Server” kursuna mutlaka gözatmalısın. Bu link ile 24.99 TL’ye alabilirsin.

https://www.udemy.com/course/uctan-uca-sql-server-egitimi/?couponCode=TEMMUZFIRSAT

SQL Server Full Text Search ile 8 milyon Twitter datasında hızlı arama yapmak

Veritabanları dikeyde yani satırlarda arama yapmak için tasarlanmıştır. Bu yüzden satır ne kadar fazla olursa olsun doğru bir indexleme stratejisi ile sistem hızlı bir şekilde arama gerçekleştirebilir. Ancak yatayda yani örneğin bir kitap datasına ya da bir twitter datasına baktığımız zaman kelimeler satır olarak değil yan yana dizilen yapılardır. Burada standart index ve standart sql kodları performanslı çalışmaz. Bu yapıda full text search çalışma mantığı ve 8 milyon satırlık twitter datasındaki arama performansı anlatılmaktadır.

#sql #sqlserver #mssql #fulltext #fulltextsearch #twitterdata