Yeni başlayan yazılımcı nasıl devam etmeli?

RDBMS (İlişkisel Veri Tabanı Yönetim Sistemleri) ve DBMS'ler (İlişkisel Olmayan Veri Tabanı Yönetim Sistemleri)
Bunların genel adına ise NoSQL ya da DBMS (Database Management System) adı verilmektedir.
RDBMS'i (Relational Database Management System) Türkçe karşılığıyla İlişkisel Veri Tabanı Yönetim Sistemi'ni, İlişkisel Olmayan Veri Tabanı Yönetim Sistemi'nden (DBMS) ayıran en temel faktördür:
Şu bilgi ıslarla yanlış verilmiş;

dbms: genel olarak bir db sistemini ifade eder,
rdbms: bunun relational yapıda olan (tablolar, foreign keyler vb. kullanan) türlerine verilen isimdir,
nosql: relational olmayan (document, key value, graph vb. veri modelleri kullanan) bir türdür
 
Şu bilgi ıslarla yanlış verilmiş;

dbms: genel olarak bir db sistemini ifade eder,
rdbms: bunun relational yapıda olan (tablolar, foreign keyler vb. kullanan) türlerine verilen isimdir,
nosql: relational olmayan (document, key value, graph vb. veri modelleri kullanan) bir türdür
Merhabalar, iyi geceler diliyorum. Sunduğunuz argümanı doğru anladığıma inanıyorum. Açıklamalarınıza zaten katılıyorum bunlar herkesin bildiği şeyler; DBMS'in RDBMS ve NoSQL'i tek çatı altında toplayan bir terim olmadığını da zaten iddia etmiyorum. Ancak "ısrarla yanlış verilmiş" ifadenize kesinlikle katılmıyorum.

Eğer bahsi geçen terimlere kuralı kuralına riayet etmemiz gerekseydi zaten bu bağlamda sizlerin paylaşmış olduğu bilgiler de hatalı olacaktı: En basit örnek olarak Dr. Edgar Frank Codd İlişkisel Veri Tabanı Yönetim Sistemi'nin oluşabilmesi için kendisinin belirlediği 12 adet kuralın uygulanması gerektiğini ifade eder. Peki size soruyorum günümüzdeki İlişkisel Veri Tabanı Yönetim Sistemi olarak nitelendirilen yazılımların kaç tanesi bu 12 adet kuralın tamamına uymaktadır? Neredeyse hiçbirisi... (MySQL "View Update", "Distribution Independence", "Logical Data Independence" ve "Non-Subversion Rule" kurallarını uygulamamaktadır. PostgreSQL, Oracle SQL ve Microsoft SQL Server'da ortak olarak "Logical Data Independence" ve "Non-Subversion Rule" kurallarını uygulamamaktadır.) Bu bağlamda bu yazılımları, Dr. Codd'un sunduğu bu 12 adet kuralı uygulamadıkları için İlişkisel Veri Tabanı Yönetim Sistemi olmadıklarını iddia etmemiz gerekir fakat bu da son derece yanlıştır. Çünkü günümüz konjonktüründe İlişkisel Veri Tabanı Yönetim Sistemi'ni ifade eden yazılımlar bizzat bunlardır ve hala kullanılmaya devam edilmektedir...

Bir de konuyu daha da kompleks hale sürükleyen "Hibrit Yapılanma" unsuru vardır: Microsoft SQL Server'da, Oracle SQL'de, PostgreSQL'de JSON ve XML veri türlerini desteklemektedir. Bu bilindiği üzere İlişkisel Olmayan (Belge Odaklı) Veri Tabanı'na ait bir özelliktir. Öyleyse bu bağlamda bahsi geçen bu İlişkisel Veri Tabanı Yönetim Sistemi yazılımlarını aynı zamanda dolaylı ya da direkt olarak İlişkisel Olmayan Veri Tabanı Yönetim Sistemi olarak da nitelendirmemiz gerekir. Ancak yine günümüz konjonktüründe böyle tanımlanmamaktadırlar. Tam tersi bir örnek olarak da İlişkisel Olmayan (Belge/Doküman Odaklı) Veri Tabanı MongoDB'de ilişkisel veri modelleme araçları (MongoDB Atlas'tan bahsediyorum) sunmaktadır ve yakın yıllarda bünyesine kazandırdığı yeniliklerle şaşırtıcı bir şekilde 12 kuralın yalnızca 4 tanesi'ni karşılamamakta, 5 tanesini yaklaşık yarıya yarıya karşılamakta, geriye kalan 3 kuralı ise tamamen karşılamaktadır. Bu doğrultuda yine bu ve buna benzer nice yazılımların İlişkisel Veri Tabanı Yönetimi Sistemi ya da İlişkisel Olmayan Veri Tabanı Yönetim Sistemi olarak nitelendirilmesi inanılmaz karmaşık bir noktaya sürüklenmektedir. Örnek sayısı çok daha fazla arttırılabilir ancak yeterince kendimi ifade ettiğime ve anlaşıldığıma inanıyorum.

Sonuç olarak Veri Tabanı Yönetim normlarının her geçen gün farklı bir noktaya sıçradığı bu konjonktürde (özellikle yapay zekanın da devreye girmesiyle), son derece kompleks ve terminolojiye oranla birbiriyle sürekli tezatlık barındıran bu yazılımları ısrarla bir terime/tanıma sığdırmaya çalışmanın personele/uzmana bir kazanç sağlamayacağını savunanlardanım. Elbette ki bu terimler bahsi geçen disiplinde öğrenmeye yeni başlamış öğrenciler için teorik altyapının oluşturulmasında çok ciddi fayda sağlayacaktır ancak spesifik olarak incelemeler yapıldığında çok ciddi pürüzlerin bulunduğunu onlar da anlayacaktır. Tekrar belirtmem gerekirse: Açıklamalarınızı inkar etmiyorum tam aksine destekliyorum fakat teori ile pratiğin keskin olarak ayrıştığı ya da tezatlaştığı hususlardan ötürü "ısrarla yanlış verilmiş" açıklamanıza kesinlikle katılmamaktayım. Son olarak kendi adıma konuşmam gerekirse sektördeki uzmanların (özellikle formal eğitim almayıp bu alanda çalışan kişiliklerin) sahip oldukları profesyonel nitelikleri gördükten ve özümsedikten sonra teoriye pek takılmamak gerektiği kanaatindeyim. "Konunun ağırlıklı olarak 'Her Yiğidin Bir Yoğurt Yiyişi Vardır' muhabbetiyle ilgili olduğuna inananlardanım" diyerekten açıklamalarımı bitireyim...​
 
Son düzenleme:
Merhabalar, iyi geceler diliyorum. Sunduğunuz argümanı doğru anladığıma inanıyorum. Açıklamalarınıza zaten katılıyorum bunlar herkesin bildiği şeyler; DBMS'in RDBMS ve NoSQL'i tek çatı altında toplayan bir terim olmadığını da zaten iddia etmiyorum. Ancak "ısrarla yanlış verilmiş" ifadenize kesinlikle katılmıyorum.

Eğer bahsi geçen terimlere kuralı kuralına riayet etmemiz gerekseydi zaten bu bağlamda sizlerin paylaşmış olduğu bilgiler de hatalı olacaktı: En basit örnek olarak Dr. Edgar Frank Codd İlişkisel Veri Tabanı Yönetim Sistemi'nin oluşabilmesi için kendisinin belirlediği 12 adet kuralın uygulanması gerektiğini ifade eder. Peki size soruyorum günümüzdeki İlişkisel Veri Tabanı Yönetim Sistemi olarak nitelendirilen yazılımların kaç tanesi bu 12 adet kuralın tamamına uymaktadır? Neredeyse hiçbirisi... (MySQL "View Update", "Distribution Independence", "Logical Data Independence" ve "Non-Subversion Rule" kurallarını uygulamamaktadır. PostgreSQL, Oracle SQL ve Microsoft SQL Server'da ortak olarak "Logical Data Independence" ve "Non-Subversion Rule" kurallarını uygulamamaktadır.) Bu bağlamda bu yazılımları, Dr. Codd'un sunduğu bu 12 adet kuralı uygulamadıkları için İlişkisel Veri Tabanı Yönetim Sistemi olmadıklarını iddia etmemiz gerekir fakat bu da son derece yanlıştır. Çünkü günümüz konjonktüründe İlişkisel Veri Tabanı Yönetim Sistemi'ni ifade eden yazılımlar bizzat bunlardır ve hala kullanılmaya devam edilmektedir...

Bir de konuyu daha da kompleks hale sürükleyen "Hibrit Yapılanma" unsuru vardır: Microsoft SQL Server'da, Oracle SQL'de, PostgreSQL'de JSON ve XML veri türlerini desteklemektedir. Bu bilindiği üzere İlişkisel Olmayan (Belge Odaklı) Veri Tabanı'na ait bir özelliktir. Öyleyse bu bağlamda bahsi geçen bu İlişkisel Veri Tabanı Yönetim Sistemi yazılımlarını aynı zamanda dolaylı ya da direkt olarak İlişkisel Olmayan Veri Tabanı Yönetim Sistemi olarak da nitelendirmemiz gerekir. Ancak yine günümüz konjonktüründe böyle tanımlanmamaktadırlar. Tam tersi bir örnek olarak da İlişkisel Olmayan (Belge/Doküman Odaklı) Veri Tabanı MongoDB'de ilişkisel veri modelleme araçları (MongoDB Atlas'tan bahsediyorum) sunmaktadır ve yakın yıllarda bünyesine kazandırdığı yeniliklerle şaşırtıcı bir şekilde 12 kuralın yalnızca 4 tanesi'ni karşılamamakta, 5 tanesini yaklaşık yarıya yarıya karşılamakta, geriye kalan 3 kuralı ise tamamen karşılamaktadır. Bu doğrultuda yine bu ve buna benzer nice yazılımların İlişkisel Veri Tabanı Yönetimi Sistemi ya da İlişkisel Olmayan Veri Tabanı Yönetim Sistemi olarak nitelendirilmesi inanılmaz karmaşık bir noktaya sürüklenmektedir. Örnek sayısı çok daha fazla arttırılabilir ancak yeterince kendimi ifade ettiğime ve anlaşıldığıma inanıyorum.

Sonuç olarak Veri Tabanı Yönetim normlarının her geçen gün farklı bir noktaya sıçradığı bu konjonktürde (özellikle yapay zekanın da devreye girmesiyle), son derece kompleks ve terminolojiye oranla birbiriyle sürekli tezatlık barındıran bu yazılımları ısrarla bir terime/tanıma sığdırmaya çalışmanın personele/uzmana bir kazanç sağlamayacağını savunanlardanım. Elbette ki bu terimler bahsi geçen disiplinde öğrenmeye yeni başlamış öğrenciler için teorik altyapının oluşturulmasında çok ciddi fayda sağlayacaktır ancak spesifik olarak incelemeler yapıldığında çok ciddi pürüzlerin bulunduğunu onlar da anlayacaktır. Tekrar belirtmem gerekirse: Açıklamalarınızı inkar etmiyorum tam aksine destekliyorum fakat teori ile pratiğin keskin olarak ayrıştığı ya da tezatlaştığı hususlardan ötürü "ısrarla yanlış verilmiş" açıklamanıza kesinlikle katılmamaktayım. Son olarak kendi adıma konuşmam gerekirse sektördeki uzmanların (özellikle formal eğitim almayıp bu alanda çalışan kişiliklerin) sahip oldukları profesyonel nitelikleri gördükten ve özümsedikten sonra teoriye pek takılmamak gerektiği kanaatindeyim. "Konunun ağırlıklı olarak 'Her Yiğidin Bir Yoğurt Yiyişi Vardır' muhabbetiyle ilgili olduğuna inananlardanım" diyerekten açıklamalarımı bitireyim...​
Hocam iyi geceler, kelime dağarcığınız ve konuları açıklama şekliniz beni benden aldı valla. Mesleğiniz ve yaşınız nedir acaba?
 
Merhabalar, iyi geceler diliyorum. Sunduğunuz argümanı doğru anladığıma inanıyorum. Açıklamalarınıza zaten katılıyorum bunlar herkesin bildiği şeyler; DBMS'in RDBMS ve NoSQL'i tek çatı altında toplayan bir terim olmadığını da zaten iddia etmiyorum. Ancak "ısrarla yanlış verilmiş" ifadenize kesinlikle katılmıyorum.

Eğer bahsi geçen terimlere kuralı kuralına riayet etmemiz gerekseydi zaten bu bağlamda sizlerin paylaşmış olduğu bilgiler de hatalı olacaktı: En basit örnek olarak Dr. Edgar Frank Codd İlişkisel Veri Tabanı Yönetim Sistemi'nin oluşabilmesi için kendisinin belirlediği 12 adet kuralın uygulanması gerektiğini ifade eder. Peki size soruyorum günümüzdeki İlişkisel Veri Tabanı Yönetim Sistemi olarak nitelendirilen yazılımların kaç tanesi bu 12 adet kuralın tamamına uymaktadır? Neredeyse hiçbirisi... (MySQL "View Update", "Distribution Independence", "Logical Data Independence" ve "Non-Subversion Rule" kurallarını uygulamamaktadır. PostgreSQL, Oracle SQL ve Microsoft SQL Server'da ortak olarak "Logical Data Independence" ve "Non-Subversion Rule" kurallarını uygulamamaktadır.) Bu bağlamda bu yazılımları, Dr. Codd'un sunduğu bu 12 adet kuralı uygulamadıkları için İlişkisel Veri Tabanı Yönetim Sistemi olmadıklarını iddia etmemiz gerekir fakat bu da son derece yanlıştır. Çünkü günümüz konjonktüründe İlişkisel Veri Tabanı Yönetim Sistemi'ni ifade eden yazılımlar bizzat bunlardır ve hala kullanılmaya devam edilmektedir...

Bir de konuyu daha da kompleks hale sürükleyen "Hibrit Yapılanma" unsuru vardır: Microsoft SQL Server'da, Oracle SQL'de, PostgreSQL'de JSON ve XML veri türlerini desteklemektedir. Bu bilindiği üzere İlişkisel Olmayan (Belge Odaklı) Veri Tabanı'na ait bir özelliktir. Öyleyse bu bağlamda bahsi geçen bu İlişkisel Veri Tabanı Yönetim Sistemi yazılımlarını aynı zamanda dolaylı ya da direkt olarak İlişkisel Olmayan Veri Tabanı Yönetim Sistemi olarak da nitelendirmemiz gerekir. Ancak yine günümüz konjonktüründe böyle tanımlanmamaktadırlar. Tam tersi bir örnek olarak da İlişkisel Olmayan (Belge/Doküman Odaklı) Veri Tabanı MongoDB'de ilişkisel veri modelleme araçları (MongoDB Atlas'tan bahsediyorum) sunmaktadır ve yakın yıllarda bünyesine kazandırdığı yeniliklerle şaşırtıcı bir şekilde 12 kuralın yalnızca 4 tanesi'ni karşılamamakta, 5 tanesini yaklaşık yarıya yarıya karşılamakta, geriye kalan 3 kuralı ise tamamen karşılamaktadır. Bu doğrultuda yine bu ve buna benzer nice yazılımların İlişkisel Veri Tabanı Yönetimi Sistemi ya da İlişkisel Olmayan Veri Tabanı Yönetim Sistemi olarak nitelendirilmesi inanılmaz karmaşık bir noktaya sürüklenmektedir. Örnek sayısı çok daha fazla arttırılabilir ancak yeterince kendimi ifade ettiğime ve anlaşıldığıma inanıyorum.

Sonuç olarak Veri Tabanı Yönetim normlarının her geçen gün farklı bir noktaya sıçradığı bu konjonktürde (özellikle yapay zekanın da devreye girmesiyle), son derece kompleks ve terminolojiye oranla birbiriyle sürekli tezatlık barındıran bu yazılımları ısrarla bir terime/tanıma sığdırmaya çalışmanın personele/uzmana bir kazanç sağlamayacağını savunanlardanım. Elbette ki bu terimler bahsi geçen disiplinde öğrenmeye yeni başlamış öğrenciler için teorik altyapının oluşturulmasında çok ciddi fayda sağlayacaktır ancak spesifik olarak incelemeler yapıldığında çok ciddi pürüzlerin bulunduğunu onlar da anlayacaktır. Tekrar belirtmem gerekirse: Açıklamalarınızı inkar etmiyorum tam aksine destekliyorum fakat teori ile pratiğin keskin olarak ayrıştığı ya da tezatlaştığı hususlardan ötürü "ısrarla yanlış verilmiş" açıklamanıza kesinlikle katılmamaktayım. Son olarak kendi adıma konuşmam gerekirse sektördeki uzmanların (özellikle formal eğitim almayıp bu alanda çalışan kişiliklerin) sahip oldukları profesyonel nitelikleri gördükten ve özümsedikten sonra teoriye pek takılmamak gerektiği kanaatindeyim. "Konunun ağırlıklı olarak 'Her Yiğidin Bir Yoğurt Yiyişi Vardır' muhabbetiyle ilgili olduğuna inananlardanım" diyerekten açıklamalarımı bitireyim...​
Teorik bilgi olarak sizinle yarışamam muhtemelen çünkü anladığım kadarı ile uzun süredir dbmsler ile ilgileniyorsunuz, bir sene önceki şu topicteki dbmsler ile ilgili sorunuz üzerinden iletişimimiz olmuş hatta


Ancak bu kadar fazla teorik bilgiye takılıp kalmak, özellikle de henüz öğrenciyseniz/henüz iş hayatına atılmamış yeni mezunsanız vs. pratik bilgi edinmenizin önüne geçmemeli. Akademik seviyede disiplinle, seçili bir konuda literatür tarayıp ezberlemeniz hayranlık uyandırıcı, ancak sorun şurada;

siz; Dr. Edgar Frank Codd diye bir adamı biliyorsunuz ya da araştırdınız ve öğrendiniz, bir dbms relational mıdır değil midir buna nasıl karar verilebilir konusunda, pek çok rdbms'in bu adamın 12 kuralının tamamına uymadığından bahsedebiliyorsunuz şu anda ki bu en basit örnekmiş

ben; bu adamı duymadım, bu en basit örnek diye tabir ettiğiniz şeyi bile araştırmam gerekir

siz; bu kadar teorik bilgiye rağmen, "...NoSQL ya da DBMS (Database Management System) adı verilmektedir" diyorsunuz. Tek bir defa bunu deseniz yanlışlık yaptınız diyeceğim, birkaç defa kullandığınıza göre bilgi yanlış.

ben; nosql ile dbmsnin direkt aynı şeyler olmadığını biliyorum.

siz; rdbms'lerin 12 tane kuralın pek çoğuna uymadığından, böyle ele alırsak teorik olarak hiçbirinin rdbms sayılamayacağından bahsediyorsunuz, sonra tabi ki bu yaklaşım yanlıştır diyorsunuz (o zaman bu yaklaşımdan bahsetmesek olurmuş şu anda) hatta bir rdbms mesela json verisi tutabiliyor, mongodb ise bu rdbms tanımlayan 12 kuralın bir çoğuna uyuyor, o zaman kesin bir biçimde dbmsleri relational/relational değil diye ayırabilir miyiz diyor, bu kadar teorik bilgi verdikten sonra teorik bilgiye bu kadar takılmamalıyız şeklinde laf ebeliği yapıyorsunuz

ben; nosql ya da rdbmsleri, teorik 12 tane kuralla değil belli başlı birkaç pratik core kural ile nasıl ayrıldığını biliyorum, mesela db schema baştan mı ayarlanıyor yoksa yapısal olarak özgür müyüz, dbdeki her kayıt farklı bir yapıya sahip olabilir mi, kolonlar keylerle relational olarak bağlanıyor mu, mesela update işlemi cascade olabiliyor mu, sql kullanılabiliyor mu vb.

siz; aslında siz de mesela mysqlin ya da mongodbnin nosql mi yoksa rdbms mi sayılması gerektiğini biliyorsunuz ama retorik ile uğraşmak daha çok hoşunuza gidiyor, bir dbms'in relational mı değil mi diye nitelendirmesi inanılmaz karmaşık noktalara sürüklenmektedir gibi bir cümle kuruyorsunuz mesela. Yoo öyle bir noktaya sürüklenmiyor.

ben; diyorum ki "ilişkisel olmayan veri tabanı sistemine DBMS denir" şeklinde yanlış bir bilgiyi ısrarla tekrarlıyorsunuz.

siz; bunun üzerine kavramları ısrarla kalıplara indirmeyelim, tek bir terime sıkıştırmayalım, teoriye takılmayalım vb. diyorsunuz; ancak başlığı açan arkadaşın "Veri işlerinden, database işlerinden, SQL ve regext ten şu anda anlamıyorum." diye tek bir cümlesi üzerine databaseler üzerine 2 sayfa uzunluğunda tamamen teorik bilgiler üzerinden cevap yazarken bu terimleri kullanmaktan pek kaçınmıyorsunuz. Açıklamalarınızı inkar etmiyorum diyorsunuz; açıklamam da şu: "siz ısrarla dbms = nosql diyorsunuz, dbms genel ifadedir, nosql değildir, insanları yanlış bilgilendiriyorsunuz", bu kadar açıklama.

Yani özetle; "Yeni başlayan yazılımcı nasıl devam etmeli" diye başlık açan birisinin sorduğu sorulardan; muhakkak pek çok bilgi sahibi olduğunuz database konusunu seçip, nedense Bilgisayar Mühendisliğine Giriş dersindeki "DBMS nedir?" başlıklı bir araştırma ödevini hazırlarcasına; soruyu soran arkadaş için bu yeni başlayan birisi için gerekli/gereksiz seviyede ne kadar teorik bilgi ile doldurduğunuz, içinde kompleks, bağlam, perspektif, spesifik, unsur, ütopik, konjonktür vb. vb. (essay, bitirme tezi vb. akademik çalışmaların favori kelimeleri, yazıyı dolu, yazanı da işin duayeni gösterir) kelimeleri kullandığınız cevaplarınızda, birkaç defa geçtiğini gördüğüm ve beni rahatsız eden, şu şekilde alıntıladığım

RDBMS (İlişkisel Veri Tabanı Yönetim Sistemleri) ve DBMS'ler (İlişkisel Olmayan Veri Tabanı Yönetim Sistemleri)
Bunların genel adına ise NoSQL ya da DBMS (Database Management System) adı verilmektedir.
RDBMS'i (Relational Database Management System) Türkçe karşılığıyla İlişkisel Veri Tabanı Yönetim Sistemi'ni, İlişkisel Olmayan Veri Tabanı Yönetim Sistemi'nden (DBMS) ayıran en temel faktördür:

bilgi yanlış; ısrarla yanlış kullanılmış. Mevzu; hibrit bir dbms için acaba nosql mi sayılır, rdbms mi sayılır tartışması da değil ki yoruma açık olsun. Her yiğidin bir yoğurt yiyişi yok burada, dalga mı geçiyosunuz?

Şu anda Nosql = dbms demektir demiyorsanız bu ısrarla dediklerinizin yanlış olduğunu kabul edin, siz bana söyleseniz böyle bir durumda, ben yanıldığımı kabul ederdim. Yine uzun; "bu budur, şu şudur ama bunu şey edebilir miyiz, teoriği böyle ama bunu kabul etmemiz de yanlış olur hani, kalıplara bu kadar takılmak personele fayda sağlar mı... bla bla bla" benzeri bir cevap vermenize hacet yok, tartışılacak bir durum söz konusu değil çünkü.

Forumda bildiğim, mesela Bitwise vb. bir kullanıcı; "haksızlık ediyorsun yea, nosql demek dbms demektir" diyecekse ya da "arkadaş yanlış bilgiyi sadece 3 kere vermiş ve en son cevabında terimlere çok takılmayalım diye kıvırmış, bu yanlış bilgiyi savunmak, yanlış bilgide ısrar etmek saylanmaz" şeklinde bir görüş belirtecekse ilginç olur.
 
Şu bilgi ıslarla yanlış verilmiş;

dbms: genel olarak bir db sistemini ifade eder,
rdbms: bunun relational yapıda olan (tablolar, foreign keyler vb. kullanan) türlerine verilen isimdir,
nosql: relational olmayan (document, key value, graph vb. veri modelleri kullanan) bir türdür

Haklisin.

Konuyu gereksiz semantik tartismaya cekmemek icin yorum yapmiyordum ama uzamis biraz artik yorum yapabilirim :)

JSON data tipini support eden RDBMS'ler olmasi ya da ACID compliance saglayan NoSQL DB'ler olmasi bu gercektegi degistirmiyor. Yine relational sekilde data saklamak durumundasin ve tabloya girecek kaydin belirli bir structure icinde olmasi gerekiyor.

Genel olarak CAP teorisi icinde ( CAP theorem - Wikipedia ) DB implemente eden teknolojiler arasinda NoSQL | RDBMS ayrimi JSON support edip etmemesine degil ( ki ornegin Snowflake RDBMS sistemi fakat S3 de support ediyor JSON ve XML'in yanisira) kabaca tablolar arasi relation ve rigid structure yapisi enforse etmesine gore degisiyor.
 
Öncelikle beni şaşırttığınız için teşekkürlerimi sunmak isterim. Şaşkınlığım ise bilmediğim tonla bilgi olması ve benim bunları daha önce hiç duymamış olmamdan gelmektedir. Artık ilerlemeye ve öğrendiğim her yeni kavramda buraya tekrar dönüp bakmaya çalışacağım.
 
Tekrardan merhabalar, iyi günler diliyorum. İltifat içerikli yorumlarınız için de ayrıca teşekkür ediyorum. Paylaşmış olduğunuz bağlantıya ithafen de sohbetimizi anımsadım, önceki sohbetimize dair tekrardan sizlere saygılarımı sunuyorum.​
Ancak bu kadar fazla teorik bilgiye takılıp kalmak, özellikle de henüz öğrenciyseniz/henüz iş hayatına atılmamış yeni mezunsanız vs. pratik bilgi edinmenizin önüne geçmemeli.
Şu anda tam olarak aynı şeyden bahsediyoruz zaten (Önceki mesajımın son paragrafına ithafen).

Kendi tecrübelerimden en basit örnek olarak: Bir Veri Tabanı Yönetim Uzmanı'nın gayet özgüveninden hiçbir şekilde ödün vermeyen bir üslupla RDBMS'leri tüm kullanım amaçlarına uygun olarak NoSQL'e oranla daha performanslı olduğunu iddia ettiğine şahit olmuş bir insanım (örnek sayısı rahatlıkla arttırılabilir). Bu iddiada bulunan hanımefendi bir Veri Tabanı Yönetim Uzmanı... Bu bağlamda kalkıp: "Sen bunu yanlış söylüyorsun, doğrusu budur. Tanımlamalarınıza kullandığınız terimlere dikkat edin" mi diyeceğim? Elbette ki hayır... Çünkü bu kez de böylesine saçma bir konu yüzünden gerekli gereksiz pek çok kişiyi karşıma almış olacağım ve tadımız kaçacak. Kendisi gerçekten benim perspektifimde samimiyetle inandığım bir profesyoneldir ve pratik alanda pek çok şeyi ondan öğrenmiş bir insanım. Ancak ortaya attığı iddianın yanlış olduğu da su götürmez bir gerçektir, teorik altyapısının paslı olduğu da öyledir. Fakat kendisi özgün bir yol belirlemiş ve bu doğrultuda ilerliyor, ben kendi belirlediğim yolda ilerliyorum. Kim bilir doğru olduğuna inandığı nice yanlış konular vardır. Bu yalnızca denizdeki su damlasını anımsatan bir örnekten başka bir şey değildir. Fakat siz bana "Her yiğidin bir yoğurt yiyişi yok burada, dalga mı geçiyosunuz?" diye bir yanıt veriyorsunuz... Öyleyse bu ve buna benzer nice örneği ne yapacağız? Asıl siz benimle dalga mı geçiyorsunuz?​
siz; bu kadar teorik bilgiye rağmen, "...NoSQL ya da DBMS (Database Management System) adı verilmektedir" diyorsunuz. Tek bir defa bunu deseniz yanlışlık yaptınız diyeceğim, birkaç defa kullandığınıza göre bilgi yanlış.
Ben anlatamamışım anlaşılan. Ben zaten "DBMS" in bir çatı kavram olmadığını iddia etmiyorum, sizi destekliyorum. Siz, insanların edindiği mesleki alışkanlık ile terminoloji arasındaki ayrımı görmekte güçlük çekiyorsunuz. (Bunun anlaşılabilmesi için de yukarıdaki bir Veri Tabanı Yöneticisi olan kişiliği örnek olarak gösterdim.) Ek olarak önceki mesajımdaki son paragrafta yer alan cümlemi sakıncası yoksa eğer lütfen bir kez daha okuyun:

"Son olarak kendi adıma konuşmam gerekirse sektördeki uzmanların (özellikle formal eğitim almayıp bu alanda çalışan kişiliklerin) sahip oldukları profesyonel nitelikleri gördükten ve özümsedikten sonra teoriye pek takılmamak gerektiği kanaatindeyim."

Bahsi geçen bu alıntımda şahit olduğum kadarıyla: Sektördeki pek çok kişiliğin (kendim elde ettiğim gözlemlerime ithafen yorumlama yapıyorum ve herkesi kapsamıyorum) teoriyle direkt olarak ilgilenmediğini, herkesin doğru olduğuna inandığı, göz göre göre yanlış olsa bile tartışmadığı ya da ilgilenmediği bir güzergahta hareket ettiğini ve bu sebeple de teorik açıklamalara körü körüne bağlanılmaması gerektiğini "Şahsi Düşüncem" dahilinde ifade ediyorum.​
siz; rdbms'lerin 12 tane kuralın pek çoğuna uymadığından, böyle ele alırsak teorik olarak hiçbirinin rdbms sayılamayacağından bahsediyorsunuz, sonra tabi ki bu yaklaşım yanlıştır diyorsunuz (o zaman bu yaklaşımdan bahsetmesek olurmuş şu anda) hatta bir rdbms mesela json verisi tutabiliyor, mongodb ise bu rdbms tanımlayan 12 kuralın bir çoğuna uyuyor, o zaman kesin bir biçimde dbmsleri relational/relational değil diye ayırabilir miyiz diyor, bu kadar teorik bilgi verdikten sonra teorik bilgiye bu kadar takılmamalıyız şeklinde laf ebeliği yapıyorsunuz
Konuyla ilgili en başından beri anlatmaya çalıştığım ve sizin de adeta anlamamak için çaba sarf ettiğiniz şey bu zaten: teorik zeminde biraz olsun inceleme yapıldığı takdirde zaten herkes bir köşeyi tutmuş; doğru olduğuna inandığı düşünceyi/argümanı savunmuş vaziyette, örneğimde bunu kanıtlamaya çalışıyorum. Ancak siz "o zaman bu yaklaşımdan bahsetmesek olurmuş şu anda" gibi anlam vermekte güçlük çektiğim bir karşı açıklama yapıp geçiştiriyorsunuz. Bununla da yetinmiyor "Laf Ebeliği" yaptığımı iddia ediyorsunuz. Bu ne küçümseyici ne rencide edici bir üslup böyle. Ben burada sadece okuyucu/yazıcı olarak bizlerin olmadığı, konunun oldukça fazla takipçisinin/okuyucusunun olmasından ötürü özellikle herkesin anlayabileceği alışılmış/muntazam bir ifadeyle, kurallara elimden geldiğince riayet etmeye çalışarak; bildiklerimi, yaşadıklarımı ve gözlemlerimi fanatiği olmadan paylaşmaya çalışıyorum. Bunları ifade ederken insanlar yanlış bir alıntılama yapabilir, sunulan karşı argüman yeterli olmayabilir, göreceli olarak yanlış yorumlamalara sebebiyet verebilir ya da teori ve pratiğin tezatlaşması sebebiyle insanlar birbiriyle polemiğe girebilir, bunda fanatiği olunmadığı takdirde endişelenilecek bir durum görmüyorum. Ben ise önceki mesajımda biraz olsun sektöre hakimiyeti olan insanların rahatlıkla anlayabileceği şekilde (siz de çok ama çok iyi biliyorsunuz ki oldukça yüzeysel mahiyette) etkili olacağına inandığım karşı açıklamalarımla samimi bir ortamda olduğumuza inanarak (bu ve buna benzer ithamlardan sonra artık kesinlikle inanmıyorum) efor sarf ediyorum.

Mesajlarımda yanlış olduğunu düşündüğünüz, kabullenmek istemediğiniz bir açıklama gördüyseniz eğer raporlamanız dahilinde zaten bununla ilgili işlem yapılacaktır. İnanın bana bu beni kesinlikle rahatsız etmez, tam aksine konu başlığı açıldığından beri haddimi aşmadan, düşüncelerimin fanatiği olmadan bilgim ve kapasitem dahilinde yardımcı olmaya çalıştığım için vicdanım rahat olur. Fakat "Laf Ebeliği yapıyorsunuz", "Retorik ile uğraşmak çok hoşunuza gidiyor", "kıvırmış" "essay, bitirme tezi vb. akademik çalışmaların favori kelimeleri, yazıyı dolu, yazanı da işin duayeni gösterir" gibi gayri ciddi, alttan alta kinayeli göndermeler yapan, karşısındaki kişiliği basite indirgemeye çalışan, haddinizi gittikçe aştığınız ve ısrarla geri durmadığınız ithamlarınız benim canımı gerçekten çok sıkar ve ikimiz için de iyi sonuçları olmayacaktır... Ön yargılarınızı kendinize saklayın ve salt perspektifinizle karşınızdaki insanı belirli kriterlere yerleştirme çabanızı daha kabul edilebilir faaliyetler için harcayın. Buna üslup denir ve dolaylı olarak mizaçla alakalıdır, insanın karakteristik özelliklerindendir... Sizin üslubunuzu ve mizacınızı da ben dahil herkes görüyor...
ben; nosql ya da rdbmsleri, teorik 12 tane kuralla değil belli başlı birkaç pratik core kural ile nasıl ayrıldığını biliyorum, mesela db schema baştan mı ayarlanıyor yoksa yapısal olarak özgür müyüz, dbdeki her kayıt farklı bir yapıya sahip olabilir mi, kolonlar keylerle relational olarak bağlanıyor mu, mesela update işlemi cascade olabiliyor mu, sql kullanılabiliyor mu vb.
Bu yorumlarınıza katılıyorum ve destekliyorum, zaten klasik metotlar, aksini iddia edersem zaten sadece haddimi aşmış olurum...
ben; diyorum ki "ilişkisel olmayan veri tabanı sistemine DBMS denir" şeklinde yanlış bir bilgiyi ısrarla tekrarlıyorsunuz.
"siz ısrarla dbms = nosql diyorsunuz, dbms genel ifadedir, nosql değildir, insanları yanlış bilgilendiriyorsunuz", bu kadar açıklama.
Riske atmamak adına bir kez daha belirtmemde fayda olacağını düşünüyorum: "Açıklamalarınıza zaten katılıyorum bunlar herkesin bildiği şeyler; DBMS'in RDBMS ve NoSQL'i tek çatı altında toplayan bir terim olmadığını da zaten iddia etmiyorum." Mesajlarımda direkt olarak yanlış olduğunu düşündüğünüz, kabullenmeyi istemediğiniz bir açıklama görüyorsanız eğer raporlama yapabilirsiniz. Söylediğim gibi kesinlikle ama kesinlikle rahatsız olmam, tam tersi konunun açıldığı andan itibaren sizin oluşturduğunuz bu irrite edici, saygıdan uzak yaklaşımların tam aksine hareket ettiğim için bununla gurur duyuyor olacağım...
Yani özetle; "Yeni başlayan yazılımcı nasıl devam etmeli" diye başlık açan birisinin sorduğu sorulardan; muhakkak pek çok bilgi sahibi olduğunuz database konusunu seçip, nedense Bilgisayar Mühendisliğine Giriş dersindeki "DBMS nedir?" başlıklı bir araştırma ödevini hazırlarcasına; soruyu soran arkadaş için bu yeni başlayan birisi için gerekli/gereksiz seviyede ne kadar teorik bilgi ile doldurduğunuz, içinde kompleks, bağlam, perspektif, spesifik, unsur, ütopik, konjonktür vb. vb. (essay, bitirme tezi vb. akademik çalışmaların favori kelimeleri, yazıyı dolu, yazanı da işin duayeni gösterir) kelimeleri kullandığınız cevaplarınızda,
Bu yanıtınız için konu sahibinin açıklamasını buraya alıntılamamın yeterli olacağına inanıyorum: "Öncelikle beni şaşırttığınız için teşekkürlerimi sunmak isterim. Şaşkınlığım ise bilmediğim tonla bilgi olması ve benim bunları daha önce hiç duymamış olmamdan gelmektedir. Artık ilerlemeye ve öğrendiğim her yeni kavramda buraya tekrar dönüp bakmaya çalışacağım." Konu sahibi dostumuzun yaptığı yorumlama dahilinde anlaşılan pek de sizin tabirinizle "gerekli/gereksiz" görünmüyor...

Sonuç olarak tüm bu sohbet dahilinde yeterince açıklama ve savunma yaptığıma inanıyorum. Ayrıca ne sizin şahsınızı zedeleyecek/incitecek ne de konu açıldığı andan itibaren konu sahibini zor duruma sokacak; haddimi aşan bir açıklama/öneri/yorumlama yapmadığıma inanıyorum ve bu konuda vicdani olarak gerçekten rahatım... Ek olarak geçmiş yıllardaki sohbetimizin hatırına sizlere tekrardan bir kez daha saygılarımı sunuyorum. Son mesajınızda şahsıma yapmış olduğunuz haksız ve had bilmez ithamlardan dolayı sohbetin bir polemiğe döneceğine inandığım için artık yanıt vermemeyi düşünüyorum. İyi tatiller diliyorum.
 
Son düzenleme:

Technopat Haberler

Yeni konular

Yeni mesajlar

Geri
Yukarı