Soy Ağacımız Bir Veritabanı Olsaydı: Dedeler, Genler ve Kayıp Düğümler

İnsan soyunu yazılımsal olarak modellemek, ilk bakışta masum bir aile ağacı çizmek gibi görünür: kökte büyük büyük büyükanne, dallarda çocuklar, yapraklarda biz. Fakat biraz yaklaşınca tablo çatırdamaya başlar. Çünkü insanlık tarihi, düzenli klasörlere ayrılmış fotoğraflardan değil; göçlerden, kayıp kayıtlardan, evlat edinmelerden, bilinmeyen babalardan, akraba evliliklerinden, mutasyonlardan ve bazen de aile yemeklerinde kimsenin konuşmak istemediği sırlardan oluşur. Yani mesele yalnızca “Ahmet, Mehmet’in babasıdır” demek değildir; mesele, biyolojik aktarımı, kültürel kimliği ve belirsizliği aynı veri yapısında yaşatabilmektir.

Hiyerarşi Güzel, Ama Hayat Daha Kurnaz

Hiyerarşik veritabanları, veriyi ağaç biçiminde düzenler: her düğümün bir ebeveyni, onun da çocukları vardır. Dosya sistemleri, organizasyon şemaları ve klasik soy ağaçları bu modele çok yakındır. Bir kişinin anne ve babasını üst düğümler, çocuklarını alt düğümler olarak düşünürüz. Sorgu da basittir: “Bu kişinin ataları kimler?”, “Şu soydan kimler geliyor?” Ağaçta yukarı çık, aşağı in, dalları takip et.

Fakat genetik aktarım açısından insan soyu tam bir ağaç değildir; daha çok yönlü, katmanlı ve zaman içinde kıvrılan bir graf yapısıdır. Her bireyin iki biyolojik ebeveyni vardır. Bu bile tek ebeveynli klasik hiyerarşiyi zorlar. Dahası, kuzen evlilikleri gibi durumlarda aynı ata, ağacın farklı dallarında tekrar belirir. Böylece soy ağacı bir noktada ağaç olmaktan çıkar, döngüye benzeyen bağlantılar taşıyan karmaşık bir ağa dönüşür. Yazılım geliştirici için bu, “güzelim veri modeli neden gece yarısı hata veriyor?” sorusunun genetik versiyonudur.

Genleri Nesne, İlişkileri Kenar Gibi Düşünmek

Bu nedenle sağlam bir modelde kişi tablosu ya da kişi düğümü tek başına yeterli değildir. Birey, doğum tarihi, ölüm tarihi, cinsiyet, coğrafya ve kimlik bilgileriyle temsil edilebilir; fakat genetik aktarım için ilişki türleri ayrıca tanımlanmalıdır. “Biyolojik anne”, “biyolojik baba”, “evlat edinen ebeveyn”, “sosyal ebeveyn”, “taşıyıcı”, “donör” gibi ilişki tipleri ayrıştırılmalıdır. Çünkü yazılım açısından ilişki yalnızca çizgi değildir; anlam taşıyan bir kenardır.

Burada ilişkisel veritabanı, grafik veritabanı ve belge tabanlı yaklaşımlar arasında seçim yapmak gerekir. İlişkisel model, tutarlılık ve sorgu disiplini sağlar. Örneğin kişi, ilişki ve genetik işaretçi tablolarıyla güçlü bir omurga kurulabilir. Grafik veritabanları ise soy, akrabalık ve uzak bağlantıları keşfetmekte daha çeviktir. “Bu iki kişi kaç kuşak öteden akraba?”, “Ortak ata nerede?”, “Belirli bir mutasyon hangi hat üzerinden taşınmış olabilir?” gibi sorular graf dünyasında doğal biçimde ifade edilir.

DNA: Sessiz Ama Gürültülü Veri

Genetik veri aktarımını modellemek için yalnızca aile bağlarını kaydetmek yetmez. DNA, olasılıklarla konuşur. Çocuk, anne ve babasından kromozomların karışmış bir kombinasyonunu alır. Rekombinasyon nedeniyle aktarım, fotokopi değil, ustaca karılmış bir deste kart gibidir. Bu yüzden sistem, kesin soy ilişkilerinin yanında olasılıksal kalıtım modellerini de barındırmalıdır. Belirli bir gen varyantının kimden geldiğini anlamak bazen doğrudan bellidir, bazen de istatistiksel tahmindir.

Bu noktada yazılım mimarisi iki seviyeli düşünmelidir: birincisi soy ilişkileri, ikincisi genetik varyantların aktarım yolları. İlk katman aile ağını kurar; ikinci katman bu ağ üzerinde genetik işaretçilerin nasıl ilerlediğini analiz eder. Böylece veri modeli yalnızca “kim kimin nesi?” sorusunu değil, “hangi biyolojik bilgi hangi olasılıkla hangi kuşaktan geldi?” sorusunu da yanıtlar.

Mahremiyet: En Kritik Güvenlik Duvarı

Elbette böyle bir sistem teknik olduğu kadar etik bir mayın tarlasıdır. Genetik veri, sıradan kişisel veri değildir; bir kişinin DNA’sı, aynı zamanda ailesi hakkında da bilgi verir. Bir bireyin verisini açığa çıkarmak, kuzenlerinin, kardeşlerinin, doğmamış çocuklarının bile mahremiyetini etkileyebilir. Bu nedenle erişim kontrolü, anonimleştirme, şifreleme, açık rıza ve veri minimizasyonu mimarinin sonradan eklenen aksesuarları değil, temel kolonları olmalıdır.

Sonuçta insan soyunu modellemek, geçmişi dijital bir dolaba kaldırmak değildir. Bu, biyolojinin kaotik zarafetini yazılımın mantıksal disiplinine çevirmeye çalışmaktır. Hiyerarşik veritabanları bize başlangıç için güzel bir merdiven sunar; fakat insanlık merdivenden ibaret değildir. Bizler düğümler, kenarlar, mutasyonlar, anılar ve ihtimallerden oluşan canlı bir veri evreniyiz. Belki de en doğru model şunu kabul eden modeldir: Soy ağacı bir ağaç gibi başlar, ama insan hikâyesi her zaman dallardan fazlasını ister.

Ctrl+Z Evreni Bozar mı? Bir Hatayı Silmenin Görünmeyen Bedeli

Bir zaman makineniz olduğunu ve geçmişte yaptığınız küçük bir hatayı düzeltmek istediğinizi düşünün. Yanlış kişiye gönderilen mesajı siliyor, kaçırdığınız trene yetişiyor ya da kötü bir kararı hiç verilmemiş hâle getiriyorsunuz. İlk bakışta hayatın klavyesinde Ctrl+Z tuşuna basmış gibisinizdir. Fakat evren bir metin editörü değildir. Geçmişteki hata ortadan kalktığında, o hatanın ürettiği sonuçlar, ilişkiler ve yeni kararlar da açıklamasız kalabilir.

Silinen olay, kalan sonuçlar

Yazılım sistemlerinde buna benzeyen sorunlarla sürekli karşılaşırız. Bir veritabanındaki kaydı silmek basit görünür; ancak başka tablolar o kayda bağlıysa sistem itiraz eder. Siparişi silersiniz ama fatura hâlâ oradadır. Kullanıcıyı kaldırırsınız ama yazdığı yorumlar sahipsiz kalır. Bu durum referans bütünlüğü sorunudur: Bir neden yok edildiğinde, ona bağlı sonuçların ne olacağı belirlenmelidir.

Zaman yolculuğu paradoksları da kozmik ölçekte aynı soruyu sorar. Geçmişe gidip zaman makinesini yapmanıza yol açan olayı engellerseniz, geriye gitme nedeniniz ortadan kalkar. Fakat geri gitmediyseniz olayı kim engellemiştir? Ünlü büyükbaba paradoksunun özü budur: Sistem, kendi geçmişini geçersiz kılan bir işlem üretmiştir. Bir programcı bunu görse muhtemelen evrene “döngüsel bağımlılık” hatası verirdi.

Daha incelikli sorun ise kelebek etkisidir. Kaos teorisinde başlangıç koşullarındaki çok küçük farklılıklar, zaman içinde dev sonuçlara dönüşebilir. Geçmişte geciktirdiğiniz bir otobüs, iki insanın karşılaşmasını önleyebilir; onların kuramayacağı ilişki, doğmayacak çocuklar ve alınmayacak kararlar yaratabilir. Küçük düzeltme, tarihin arka planında çalışan milyonlarca işlemi sessizce yeniden hesaplatır. Evrenin işlemci fanı muhtemelen tam burada hızlanır.

Geri alma aslında silme değildir

Sağlam yazılım sistemleri geçmişi çoğu zaman gerçekten silmez. Bunun yerine önceki işlemi dengeleyen yeni bir işlem ekler. Banka transferi hatalıysa kayıt yok edilmez; ters yönde başka bir transfer oluşturulur. Böylece denetim izi korunur ve sistem, “Bu para neden burada?” sorusuna cevap verebilir. Olay kaynaklı mimarilerde de mevcut durum, geçmiş olayların toplamından oluşur. Bir olayı çekip almak, hikâyenin ortasından fiil silmeye benzer: Cümleler kalır ama anlam çöker.

Bu yaklaşım zaman yolculuğuna uygulandığında ilginç bir ilke ortaya çıkar: Geçmişi yok etmek yerine etkisini telafi etmek daha tutarlıdır. Söylenmiş kırıcı bir sözü söylenmemiş yapamazsınız; fakat özür, açıklama ve davranış değişikliğiyle yeni bir nedensellik zinciri kurabilirsiniz. Teknik sistemlerde buna telafi işlemi denir. İnsan hayatında ise sorumluluk adını alır.

Tek zaman çizgisi mi, yeni bir dal mı?

Bilimkurgu çatışmayı çözmek için genellikle iki model kullanır. İlkinde tek bir zaman çizgisi vardır ve yapılan değişiklik bütün geleceği yeniden yazar. Bu model paradokslara açıktır. İkincisinde her müdahale yeni bir dal oluşturur. Eski gelecek silinmez; yalnızca başka bir sürüm başlatılır. Bu, yazılımdaki sürüm kontrolüne benzer: Geçmiş kaybolmaz, yeni bir dalda farklı kararlar denenir. Ne var ki yolcu kendi hatasını gerçekten düzeltmiş olmaz; yalnızca hatanın yaşanmadığı başka bir dünyaya geçmiş olur.

Asıl ders şudur: Bir hata, meydana geldiği anda çevresindeki sistemin parçasına dönüşür. Onu silmek yalnızca tek bir olayı değil, o olayla anlam kazanan bağlantıları da hedef alır. İster veritabanı ister zaman çizgisi ister insan hafızası olsun, geçmiş bir dosya değil, ilişkiler ağıdır. Bu yüzden en güvenli “geri alma” yöntemi unutmak veya yok etmek değil; izi koruyarak yeni ve daha iyi bir sonuç üretmektir. Belki de olgunluk, geçmişi yeniden yazma gücü değil, onun üzerine çelişkisiz bir gelecek kurma becerisidir.

Zihnini Üçüncü Normal Forma Sokarsan Ruhun Nerede Kalır?

Veritabanı normalizasyonu, kulağa kuru bir mühendislik ritüeli gibi gelir: tekrar eden bilgiyi ayır, tabloları parçala, ilişkileri tanımla, çelişkiyi azalt. Bir müşterinin adı üç yerde geçmesin; adres değişirse bütün evreni tek tek düzeltmek zorunda kalmayalım. Ne güzel, ne temiz, ne akıllıca. Fakat insan zihni de bazen kendini böyle düzenlemeye kalkar: anıları ayrı tablolara, duyguları ayrı sütunlara, ilişkileri yabancı anahtarlara bağlar. Sonra bir gün fark ederiz ki hayatımız çalışıyor ama yaşamıyor olabilir.

Normalizasyonun temel vaadi şudur: tekrar kötüdür, belirsizlik tehlikelidir, fazlalık hataya yol açar. Bu, bilgisayar sistemleri için son derece doğrudur. Ama ruh için her zaman değil. Çünkü insan, yalnızca veriden oluşmaz; yankıdan, fazlalıktan, tekrar eden rüyalardan, aynı hataya farklı kostümler giydirerek dönmekten oluşur. Bir veritabanında tekrar, depolama israfıdır. Bir bilinçte tekrar, bazen travmanın kapıyı yeniden çalmasıdır; bazen de ruhun henüz sindiremediği bir hakikati tekrar tekrar sahnelemesidir.

Düzenin Masum Maskesi

Düzen hastalığı, çoğu zaman erdem kılığına girer. Masanız tertemizdir, dosyalarınız kusursuz adlandırılmıştır, notlarınız etiketlenmiştir, zihninizdeki herkesin yeri bellidir. Şu kişi güvenilmezler tablosundadır, şu olay çocukluk şemasına bağlanmıştır, şu duygu gereksiz tekrar olarak silinmelidir. Dışarıdan bakınca bu bir bilgelik gibi görünür. İçeriden bakınca ise bazen korkunun mimarlığıdır.

Çünkü aşırı düzen, çoğu zaman kaosa duyulan saygıdan değil, kaostan duyulan panikten doğar. İnsan, kendini korumak için dünyayı parçalar. Sevgiyi, arzuyu, öfkeyi, suçluluğu, pişmanlığı ayrı bölmelere koyar. Böylece hiçbir şey birbirine bulaşmaz. Fakat ruh, ilişkisel bir veritabanı gibi davranmayı reddeder. Annenizin sesiyle patronunuzun bakışı aynı anda tetiklenebilir. Bir şarkı, on yıl önceki bir ayrılığı bugünkü bir kararla birleştirebilir. Bilinçdışı, normal form kurallarına uymaz; o daha çok eski bir bodrum katı gibidir: kutular etiketlidir ama içlerinden deniz kabuğu, kırık saat ve unutulmuş bir öfke birlikte çıkar.

Tekrarın Karanlık Bilgeliği

Normalizasyon, bilgi tekrarını azaltır; psikoloji ise bazen tekrarın anlamını dinler. Jungiyen bakışla söylersek, tekrar eden motifler arketipsel bir dil konuşabilir. Aynı tip insanlara âşık olmak, aynı tartışmayı farklı ilişkilerde yaşamak, aynı başarısızlığı başka sahnelerde üretmek yalnızca hata değildir. Bunlar zihnin bozuk kayıtları değil, ruhun okunmamış sorgularıdır. Bir yazılımcı olsaydık şöyle derdik: Sistem aynı uyarıyı veriyorsa logları silme, kaynağa bak.

Fakat modern insan logları silmeyi seviyor. Takvim uygulamasıyla kaygısını, görev listesiyle boşluğunu, klasör yapısıyla kimlik dağınıklığını yönetmeye çalışıyor. Her şey kategorize edilirse acı azalacak sanıyor. Oysa bazı acılar kategoriye girmeyi reddeder. Onları bir etikete sıkıştırdığınızda küçülmezler; sadece başka yerden sızarlar. Tıpkı kötü tasarlanmış bir veritabanında olduğu gibi, bastırılmış bilgi beklenmedik bir sorguda karşınıza çıkar.

Parçalamak mı, Bütünlemek mi?

Normalizasyonun güzelliği, gereksiz bağımlılıkları çözmesidir. Belki psikolojik olgunluk da buna benzer: Başkasının sevgisini kendi değerimizin ana tablosu yapmamak, geçmişteki bir yarayı bugünkü her ilişkiye otomatik bağlamamak, çocukluk korkusunu yetişkin kararlarımızın birincil anahtarı ilan etmemek. Bu anlamda içsel normalizasyon sağlıklıdır. Kim neye bağlı, hangi inanç hangi deneyimden türemiş, hangi duygu aslında kime ait? Bunları ayırmak, insanı özgürleştirir.

Ama tehlike, ayırmanın bütünleştirmeyi unutturmasıdır. Veritabanında tablolar parçalanır ama ilişkiler korunur. Zihinde ise bazı insanlar sadece parçalar: iş kimliği, aile kimliği, dijital kimlik, arzu, vicdan, gölge. Sonra bu tablolar arasında bağlantı kuramaz. Sonuç: tutarlı ama cansız bir benlik. Her şey yerli yerindedir; fakat içeride kimse evde değildir.

Belki de mesele, zihni tamamen normalleştirmek değil; hangi tekrarın hata, hangi tekrarın çağrı olduğunu ayırt etmektir. Bazı tekrarlar silinmelidir: kendini değersizleştiren cümleler, miras alınmış korkular, otomatik savunmalar. Bazı tekrarlar ise dinlenmelidir: rüyalar, sezgiler, bedende dönüp duran gerilimler, aynı cümlenin içimizde bıraktığı yankı. İnsan, yalnızca optimize edilecek bir sistem değil; anlam arayan bir ormandır.

Sonunda veritabanı bize güçlü bir metafor sunar: Bilgiyi düzenle, ama canlılığı öldürme. Tekrarı azalt, ama ritmi yok etme. İlişkileri tanımla, ama gizemi kapatma. Çünkü ruhun en derin tablolarında bazen birincil anahtar yoktur. Bazı kayıtlar eksik, bazı alanlar boş, bazı bağlantılar yasadışıdır. Ve insan tam da bu kusurlu şemada kendini bulur: düzen ile dağınıklık, mantık ile rüya, veri ile kader arasında.

Veri madenciliği

Basit bir tanım yapmak gerekir ise veri madenciliği, büyük ölçekli veriler arasından bilgiye ulaşma, bilgiyi madenleme işidir. Ya da bir anlamda büyük veri yığınları içerisinden gelecek ile ilgili tahminde bulunabilmemizi sağlayabilecek bağıntıların bilgisayar programı kullanarak aranmasıdır. Veri madenciliği deyimi yanlış kullanılan bir deyim olabileceğinden buna eş değer başka kullanımlar da literatüre geçmiştir. Veritabanlarında bilgi madenciliği (knowledge mining from databases), Bilgi çıkarımı(knowledge extraction), data/pattern anaysis (veri ve örüntü analizi), veri arkeolojisi gibi.

Bunların arasındaki en popüler kullanım Veritabanlarında Bilgi Keşfi (VBK – Knowledge Discovery From Databases – KDD) ‘dir. Alternatif olarak veri madenciliği aslında bilgi keşfi sürecinin bir parçası şeklinde kabul görmektedir. Bu adımlar:

1- Veri Temizleme (gürültülü ve tutarsız verileri çıkarmak)
2- Veri Bütünleştirme (birçok veri kaynağını birleştirebilmek)
3- Veri Seçme (Yapılacak olan analiz ile ilgili olan verileri belirlemek )
4- Veri Dönüşümü (Verinin veri madenciliği tekniğinden kullanılabilecek hale dönüşümünü gerçekleştirmek)
5- Veri Madenciliği (Veri örüntülerini yakalayabilmek için akıllı metotları uygulamak)
6- Örüntü Değerlendirme (Bazı ölçümlere göre elde edilmiş bilgiyi temsil eden ilginç örüntüleri tanımlamak)
7- Bilgi Sunumu (Madenciliği yapılmış olan elde edilmiş bilginin kullanıcıya sunumunu gerçekleştirmek),

Veri madenciliği adımı, kullanıcı ve bilgi tabanı ile etkileşim halindedir. İlginç örüntüler kullanıcıya gösterilir, ve bunun ötesinde istenir ise bilgi tabnına da kaydedilebilir. Buna göre, veri madenciliği işlemi, gizli kalmış örüntüler bulunana kadar devam eder.

Bir veri madenciliği sistemi, aşağıdaki temel bileşenlere sahiptir: ·Veritabanı, veri ambarı ve diğer depolama teknikleri ·Veritabanı ya da veri ambarı Sunucusu ·Bilgi Tabanı ·Veri Madenciliği Motoru ·Örüntü Değerlendirme ·Kullanıcı Arayüzü

Veri madenciliği, eldeki verilerden üstü kapalı, çok net olmayan, önceden bilinmeyen ancak potansiyel olarak kullanışlı bilginin çıkarılmasıdır. Bu da; kümeleme, veri özetleme, değişikliklerin analizi, sapmaların tespiti gibi belirli sayıda teknik yaklaşımları içerir.

Başka bir deyişle, veri madenciliği, verilerin içerisindeki desenlerin, ilişkilerin, değişimlerin, düzensizliklerin, kuralların ve istatistiksel olarak önemli olan yapıların yarı otomatik olarak keşfedilmesidir.

Temel olarak veri madenciliği, veri setleri arasındaki desenlerin ya da düzenin, verinin analizi ve yazılım tekniklerinin kullanılması ile ilgilidir. Veriler arasındaki ilişkiyi, kuralları ve özellikleri belirlemekten bilgisayar sorumludur. Amaç, daha önceden fark edilmemiş veri desenlerini tespit edebilmektir.

Veri madenciliğini istatistiksel bir yöntemler serisi olarak görmek mümkün olabilir. Ancak veri madenciliği, geleneksel istatistikten birkaç yönde farklılık gösterir. Veri madenciliğinde amaç, kolaylıkla mantıksal kurallara ya da görsel sunumlara çevrilebilecek nitel modellerin çıkarılmasıdır. Bu bağlamda, veri madenciliği insan merkezlidir ve bazen insan – bilgisayar arayüzü birleştirilir.

Veri madenciliği sahası, istatistik, makine bilgisi, veritabanları ve yüksek performanslı işlem gibi temelleri de içerir.

Veri madenciliği konusunda bahsi geçen geniş verideki geniş kelimesi, tek bir iş istasyonunun belleğine sığamayacak kadar büyük veri kümelerini ifade etmektedir. Yüksek hacimli veri ise, tek bir iş istasyonundaki ya da bir grup iş istasyonundaki disklere sığamayacak kadar fazla veri anlamındadır. Dağıtık veri ise, farklı coğrafi konumlarda bulunan verileri anlatır.
Devamını oku “Veri madenciliği” →