Saya hanya mendengar tentang Robert Martin hari ini, dan sepertinya dia adalah tokoh terkemuka di dunia perangkat lunak, jadi saya tidak bermaksud judul saya muncul seolah-olah itu adalah umpan klik atau saya meletakkan kata-kata di mulutnya, tetapi ini hanya bagaimana saya menafsirkan apa yang saya dengar darinya dengan pengalaman dan pemahaman saya yang terbatas.
Saya menonton video hari ini (pada arsitektur perangkat lunak), pada ceramah oleh Robert C. Martin, dan pada paruh kedua video, topik basis data adalah fokus utama.
Dari pemahaman saya tentang apa yang dia katakan, sepertinya dia mengatakan bahwa SSD akan mengurangi kegunaan database ( jauh ).
Untuk menjelaskan bagaimana saya sampai pada interpretasi ini:
Dia membahas bagaimana dengan HDD / disk berputar, pengambilan data lambat. Namun, hari ini kami menggunakan SSD, katanya. Dia mulai dengan "RAM akan datang" dan kemudian melanjutkan dengan menyebutkan disk RAM, tetapi kemudian mengatakan dia tidak bisa menyebutnya RAM disk, jadi resor hanya mengatakan RAM. Jadi dengan RAM, kita tidak perlu indeks, karena setiap byte membutuhkan waktu yang sama untuk mendapatkannya. ( paragraf ini diparafrasekan oleh saya )
Jadi, dia menyarankan RAM (seperti dalam memori komputer) sebagai pengganti DB (seperti yang saya tafsirkan pernyataannya) tidak masuk akal karena itu seperti mengatakan semua catatan dalam memori diproses dalam masa aplikasi ( kecuali Anda menarik dari file disk sesuai permintaan)
Jadi, saya terpaksa berpikir dengan RAM, maksudnya SSD. Jadi, dalam hal ini, dia mengatakan SSD mengurangi kegunaan dari basis data. Dia bahkan mengatakan, "Jika saya adalah Oracle, saya akan takut. Dasar mengapa saya ada adalah menguap."
Dari sedikit pemahaman saya tentang SSD, tidak seperti HDD, yang O(n)
mencari waktu (menurut saya), SSD sudah dekat O(1)
, atau hampir acak. Jadi, sarannya menarik bagi saya, karena saya tidak pernah memikirkannya seperti itu. Pertama kali saya diperkenalkan ke database beberapa tahun yang lalu, ketika seorang profesor menggambarkan manfaat dari sistem file biasa, saya menyimpulkan bahwa peran utama dari suatu database pada dasarnya adalah sistem file yang sangat terindeks (juga optimasi, caching, akses bersamaan, dll), dengan demikian, jika indeks tidak diperlukan di SSD, jenis ini membuat basis data kurang berguna.
Terlepas dari itu, dengan menganggap bahwa saya seorang pemula, saya merasa sulit untuk percaya bahwa mereka menjadi kurang berguna, karena semua orang masih menggunakan DB sebagai titik utama aplikasi mereka, bukan sistem file murni, dan merasa seolah-olah dia terlalu menyederhanakan peran basis data.
Catatan : Saya menonton sampai akhir untuk memastikan dia tidak mengatakan sesuatu yang berbeda.
Sebagai referensi: 42:22 adalah ketika seluruh topik basis data muncul, 43:52 adalah ketika ia memulai dengan "Mengapa kita bahkan memiliki basis data"
Jawaban ini memang mengatakan SSD mempercepat DB secara signifikan. Pertanyaan ini menanyakan tentang bagaimana optimasi diubah.
Untuk TL; DR pertanyaan saya, apakah munculnya penggunaan SSD yang tersebar luas di pasar server (apakah akan datang atau sudah terjadi) mengurangi kegunaan basis data?
Sepertinya apa yang ingin disampaikan oleh presenter adalah bahwa dengan SSD, seseorang dapat menyimpan data pada disk, dan tidak perlu khawatir tentang lambatnya mengambilnya seperti pada HDD lama, seperti pada SSD, mencari waktu sudah dekat O(1)
(Kupikir). Jadi, jika itu benar, secara hipotetis akan kehilangan salah satu keuntungan yang dimilikinya: pengindeksan, karena keuntungan memiliki indeks untuk waktu pencarian yang lebih cepat hilang.
O(1)
tidak cukup untuk kasus penggunaan yang disediakan DBBerdasarkan posting Anda, tampaknya pesan yang jelas adalah bahwa optimasi waktu pencarian RDBMS sedang diganti dengan perangkat keras yang membuat waktu IO dapat diabaikan.
Ini mutlak benar. SSD pada server basis data dikombinasikan dengan RAM tinggi (aktual) membuat IO menunggu jauh lebih singkat. Namun, pengindeksan dan caching RDBMS masih bernilai karena bahkan sistem dengan anugerah IO yang sangat besar ini dapat dan akan memiliki hambatan IO dari kueri yang berkinerja buruk yang disebabkan oleh pengindeksan yang buruk. Ini biasanya hanya ditemukan di bawah aplikasi beban kerja tinggi atau aplikasi yang ditulis dengan buruk.
Nilai kunci untuk sistem RDBMS secara umum adalah konsistensi data, ketersediaan data, dan agregasi data. Memanfaatkan spreadsheet excel, file csv, atau metode lain untuk menjaga "basis data" tidak menghasilkan jaminan.
SSD tidak melindungi Anda dari server utama Anda menjadi tidak tersedia karena alasan apa pun (jaringan, kerusakan sistem operasi, kehilangan daya). SSD tidak melindungi Anda dari modifikasi data yang buruk. SSD tidak membuatnya lebih cepat untuk menjalankan analitik dibandingkan dengan "hanya memilikinya".
sumber
Paman Bob mungkin sedang berbicara tentang database dalam memori seperti Redis atau Gemfire . Dalam database ini, semua yang ada di database benar-benar terkandung dalam RAM. Basis data dapat mulai kosong dan diajukan dengan data yang berumur pendek (digunakan sebagai cache) atau mulai dengan memuat semuanya dari disk dan secara berkala memeriksa perubahan pos ke disk.
Ini menjadi lebih dan lebih populer karena RAM semakin murah, dan menjadi layak untuk memiliki satu terabyte data yang disimpan dalam database cluster in-memory. Ada banyak kasus penggunaan di mana kecepatan dari memiliki akses instan ke hal-hal membuatnya berharga untuk dimasukkan ke dalam RAM daripada bahkan disk cepat seperti SSD. Anda bahkan dapat terus menggunakan SQL untuk beberapa di antaranya jika masuk akal.
Mengapa ini harus mengkhawatirkan Oracle? Data tumbuh dan tidak mungkin RDBMSes akan hilang. Namun, banyak waktu rekayasa Oracle selama bertahun-tahun telah dilakukan untuk membuat pengambilan data pada disk yang berputar sangat cepat. Oracle perlu beradaptasi dengan tingkat penyimpanan yang sama sekali berbeda. Yaitu, dengan Oracle Database In Memory , tetapi mereka terpapar pada kompetisi yang berbeda dari sebelumnya. Pikirkan berapa banyak waktu yang telah dihabiskan untuk memastikan optimizer kueri memilih strategi yang tepat berdasarkan tata letak hal-hal pada disk ....
sumber
Posting Wiki Komunitas mengumpulkan jawaban yang awalnya dibiarkan sebagai komentar pertanyaan
Saya akan mengatakan sebaliknya. Karena kecepatan baca / tulis sangat cepat, sekarang Anda bisa mendapatkan basis data berakselerasi GPU (mis. BlazingDB atau Alenka ) untuk membuat angka lebih cepat. Sekarang Anda dapat membuat kueri yang lebih kompleks berjalan lebih cepat. Sekarang pertanyaan yang bahkan orang tidak anggap berlari bisa dijalankan dengan kecepatan yang masuk akal. Semakin kompleks, dan semakin banyak data semakin baik Anda - cybernard
Sementara Bob Martin telah ada sejak lama dan pendapatnya umumnya layak untuk didengarkan (jika tidak setuju dengan :-), dalam hal ini saya pikir dia menyelam ke kerumunan "The Death Of Relational Databases Is Upon Us" (yang Saya anggota asosiasi :-). Untuk beberapa hal dalam keadaan terbatas argumen yang agak meyakinkan dapat dibuat bahwa teknologi database non-relasional dapat memberikan keunggulan. Yang telah dikatakan, bagaimanapun, IMO model relasional, cacat dalam berbagai dan beragam cara yang mungkin, masih memberikan model database tujuan umum terbaik yang tersedia saat ini. YMMV. - Bob Jarvis
Alasan utama kami menggunakan basis data bukan karena disk lambat (memang, awalnya, yang dikutip sebagai alasan untuk tidak menggunakan basis data), melainkan karena data rumit . Tujuan utama dari suatu database adalah untuk memungkinkan beberapa aplikasi / pengguna dapat menemukannya data yang benar dan bahkan untuk dapat mengubahnya secara bersamaan dengan cara yang terkontrol. Melakukannya dengan cepat hanyalah tujuan sekunder dari database. - RBarryYoung
RDBMS tidak akan pergi dalam waktu dekat; mereka adalah pilihan terbaik untuk beberapa jenis aplikasi, dan NoSQL (Mongo, dll.) adalah pilihan terbaik untuk yang lain. Kuda untuk kursus. - sh1rts
Basis data membantu mengatur data. Itu tidak benar-benar dirancang untuk akses cepat data di tempat pertama. - JI Xiang
sumber