คำถามนี้เกี่ยวกับการเลือกสถาปัตยกรรมก่อนเจาะลึกในรายละเอียดของการทดลองและการใช้งาน มันเกี่ยวกับความเหมาะสมในด้านความยืดหยุ่นและประสิทธิภาพของ elasticsearch vs MongoDB สำหรับจุดประสงค์ที่ค่อนข้างเฉพาะเจาะจง
สมมุติฐานทั้งเก็บวัตถุข้อมูลที่มีเขตข้อมูลและค่าและอนุญาตให้สอบถามเนื้อหาของวัตถุนั้น ดังนั้นการกรองชุดย่อยของวัตถุตามเขตข้อมูลที่เลือกไว้จึงเป็นสิ่งที่เหมาะสมสำหรับทั้งคู่
แอปพลิเคชันของฉันจะหมุนไปรอบ ๆ การเลือกวัตถุตามเกณฑ์ มันจะเลือกวัตถุโดยการกรองพร้อมกันโดยมากกว่าหนึ่งเขตข้อมูลใส่แตกต่างกันเกณฑ์การกรองแบบสอบถามของมันมักจะประกอบด้วยที่ใดก็ได้ระหว่าง 1 ถึง 5 สาขาอาจจะมากกว่าในบางกรณี ในขณะที่ฟิลด์ที่เลือกเป็นตัวกรองจะเป็นชุดย่อยของฟิลด์จำนวนมาก รูปภาพชื่อฟิลด์ 20 ชื่อที่มีอยู่และแต่ละแบบสอบถามเป็นความพยายามในการกรองวัตถุโดยไม่กี่ฟิลด์จาก 20 เขตข้อมูลโดยรวมเหล่านั้น (อาจเป็นชื่อฟิลด์โดยรวมที่มีอยู่น้อยกว่าหรือมากกว่า 20 ชื่อฉันใช้หมายเลขนี้เพื่อแสดงอัตราส่วน เขตข้อมูลไปยังเขตข้อมูลที่ใช้เป็นตัวกรองในแบบสอบถามแบบแยกทั้งหมด) การกรองสามารถทำได้โดยการมีอยู่ของเขตข้อมูลที่เลือกเช่นเดียวกับค่าของเขตข้อมูลเช่นการกรองวัตถุที่มีสนาม A และเขต B ของพวกเขาอยู่ระหว่าง x และ y
แอปพลิเคชันของฉันจะทำการกรองแบบนี้อย่างต่อเนื่องในขณะที่จะไม่มีอะไรคงที่หรือน้อยมากในแง่ของเขตข้อมูลที่จะใช้สำหรับการกรองในเวลาใดก็ได้ บางทีใน elasticsearch ดัชนีจะต้องมีการกำหนด แต่บางทีแม้จะไม่มีความเร็วดัชนีอยู่ในระดับเดียวกับ MongoDB
ตามข้อมูลที่เข้ามาในร้านไม่มีรายละเอียดพิเศษเกี่ยวกับสิ่งนั้น .. วัตถุเกือบจะไม่เปลี่ยนแปลงหลังจากถูกใส่เข้าไป บางทีวัตถุเก่าจะต้องถูกทิ้งไปฉันต้องการสมมติว่าแหล่งข้อมูลทั้งสองสนับสนุนการหมดอายุการลบสิ่งภายในหรือโดยแอปพลิเคชันที่ทำแบบสอบถาม (บ่อยน้อยกว่าวัตถุที่ตรงกับแบบสอบถามบางอย่างจะต้องลดลงเช่นกัน)
คุณคิดอย่างไร? และคุณได้ทดลองแง่มุมนี้ไหม?
ฉันสนใจในประสิทธิภาพและความสามารถในการปรับขยายได้ของที่เก็บข้อมูลสองแห่งสำหรับงานประเภทนี้ นี่เป็นคำถามเกี่ยวกับสถาปัตยกรรมและรายละเอียดของตัวเลือกเฉพาะร้านค้าหรือสิ่งสำคัญในการค้นหาที่ควรทำให้ได้รับการออกแบบอย่างดียินดีต้อนรับเพื่อเป็นการสาธิตข้อเสนอแนะที่คิดมาอย่างเต็มที่
ขอบคุณ!