Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Menggunakan indeks pencarian Solr sebagai database - apakah ini salah?

Ya, Anda dapat menggunakan SOLR sebagai database tetapi ada beberapa peringatan yang sangat serius :

  1. Pola akses SOLR yang paling umum, yang lebih dari http tidak merespons dengan sangat baik terhadap kueri batch. Selain itu, SOLR TIDAK mengalirkan data --- jadi Anda tidak dapat dengan malas mengulangi jutaan catatan sekaligus. Ini berarti Anda harus sangat berhati-hati saat mendesain pola akses data skala besar dengan SOLR.

  2. Meskipun kinerja SOLR meningkat secara horizontal (lebih banyak mesin, lebih banyak inti, dll.) serta secara vertikal (lebih banyak RAM, lebih baik mesin, dll), kemampuan kuerinya sangat terbatas dibandingkan dengan RDBMS yang matang . Meskipun demikian, ada beberapa fungsi yang sangat baik, seperti kueri statistik bidang, yang cukup nyaman.

  3. Pengembang yang terbiasa menggunakan database relasional akan sering mengalami masalah ketika mereka menggunakan pola desain DAO yang sama dalam paradigma SOLR, karena cara SOLR menggunakan filter dalam kueri. Akan ada kurva pembelajaran untuk mengembangkan pendekatan yang tepat untuk membangun aplikasi yang menggunakan SOLR untuk sebagian besar kueri atau modifikasi statefullnya .

  4. Alat "perusahaan" yang memungkinkan manajemen sesi lanjutan dan entitas statefull yang ditawarkan oleh banyak kerangka kerja web lanjutan (Ruby, Hibernate, ...) harus dibuang sepenuhnya .

  5. Basis data relasional dimaksudkan untuk menangani data dan hubungan yang kompleks - dan karenanya disertai dengan metrik canggih dan alat analisis otomatis. Di SOLR, saya mendapati diri saya menulis alat semacam itu dan banyak menguji stres secara manual, yang dapat membuang waktu .

  6. Bergabung:ini adalah pembunuh besar. Database relasional mendukung metode untuk membangun dan mengoptimalkan tampilan dan kueri yang menggabungkan tupel berdasarkan predikat sederhana. Di SOLR, tidak ada metode yang kuat untuk menggabungkan data di seluruh indeks.

  7. Ketahanan:Untuk ketersediaan tinggi, SolrCloud menggunakan sistem file terdistribusi di bawahnya (yaitu HCFS). Model ini sangat berbeda dengan database relasional, yang biasanya melakukan ketahanan menggunakan slave dan master, atau RAID, dan seterusnya. Jadi, Anda harus siap menyediakan infrastruktur ketahanan yang dibutuhkan SOLR jika Anda ingin cloud scalable dan resisten.

Yang mengatakan - ada banyak keuntungan yang jelas untuk SOLR untuk tugas-tugas tertentu :(lihat http://wiki. apache.org/solr/WhyUseSolr ) -- kueri longgar jauh lebih mudah dijalankan dan memberikan hasil yang berarti. Pengindeksan dilakukan sebagai masalah default, sehingga sebagian besar kueri arbitrer berjalan cukup efektif (tidak seperti RDBMS, di mana Anda sering harus mengoptimalkan dan de-normalisasi setelah fakta).

Kesimpulan: Meskipun Anda BISA menggunakan SOLR sebagai RDBMS, Anda mungkin menemukan (seperti yang saya miliki) bahwa pada akhirnya "tidak ada makan siang gratis" - dan penghematan biaya pencarian teks lucene super keren dan kinerja tinggi, pengindeksan dalam memori, sering kali dibayar dengan fleksibilitas yang lebih rendah dan penerapan alur kerja akses data baru.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Saya ingin menambahkan 30 hari ke baris tanggal mysql

  2. MySQL 'Order By' - menyortir alfanumerik dengan benar

  3. Cara Mengamankan MySQL:Bagian Satu

  4. Bagaimana cara mengatur ulang kata berhenti di MYSQL?

  5. Menyimpan Nomor Kartu Kredit di SESI - cara mengatasinya?