NoSQL และ RDBMS อยู่ด้วยกันไหม?


13

ฉันสงสัยว่ามีวิธีแก้ปัญหาที่ดีสำหรับการบันทึกข้อมูลในฐานข้อมูล NoSQL หรือไม่และทำการแปลงให้เป็น RDBMS หรือไม่?

ตัวอย่างเช่นหากคุณต้องการรวบรวมข้อมูลบางอย่างได้อย่างรวดเร็วเช่นบันทึกการใช้งาน แต่คุณต้องการสร้างรายงานในภายหลัง

ฐานข้อมูลที่ฉันชอบคือ Postgres ดังนั้นหากคำตอบของคุณเกี่ยวข้องกับ Postgres ที่ยอดเยี่ยม


ณ จุดนี้ postgres มี xml, json natively และ gis, และ hstore (คีย์, ค่า) เป็นส่วนขยาย ต้องการ nosql db น้อยมากหากใช้ postgres
xenoterracide

ที่กล่าวว่ารูปแบบ cqrs ได้รับการออกแบบมาเพื่ออำนวยความสะดวกให้กับคำถามของคุณ
xenoterracide

คำตอบ:


10

คำตอบด่วน - ใช่ เกิดขึ้นตลอดเวลา

มีทางออกที่ดีมากมาย มีวิธีแก้ไขปัญหาใดบ้างในสภาพแวดล้อมของคุณ ฉันช่วยลูกค้ารายหนึ่งที่รับข้อมูลกิจกรรมเว็บไซต์ / เซสชันจากเว็บแอปพลิเคชันของพวกเขาพวกเขาเขียนลงใน xml จากนั้นทำการเลิก xml นั้นลงใน Hadoop จากนั้นพวกเขาใช้ Hive ที่ด้านบนของ Hadoop เพื่อสร้างการรวมและข้อเท็จจริง (โดยการเข้าร่วมข้อมูลบันทึกนี้เพื่ออ้างอิงข้อมูลจากเว็บไซต์ของพวกเขาที่พวกเขาเก็บไว้ในฐานข้อมูล Postgres) การรวมและข้อเท็จจริงเหล่านี้จะถูกโหลดลงใน RDBMS (พวกเขาใช้ SQL Server เนื่องจากการวิเคราะห์ที่หลากหลายที่มีให้ใน SQL Server stack)

ฉันจะสำรวจ Hadoop ดูที่ Hive ซึ่งเป็นเอ็นจิ้นการสืบค้นที่อยู่ด้านบนของ Hadoop ที่ให้คุณเขียนข้อความค้นหาที่คล้ายกับ SQL และแปลเป็นงาน MapReduce ที่อยู่เบื้องหลัง จากนั้นดู Sqoop ซึ่งเป็นอีกเครื่องมือหนึ่งในตระกูล Hadoop ที่ช่วยคุณในการส่งออก / นำเข้าข้อมูล

http://hadoop.apache.org/ http://www.amazon.com/Hadoop-Definitive-Guide-Tom-White/dp/1449389732/ref=sr_1_1?s=books&ie=UTF8&qid=1319160463&sr=1-1 http : //www.cloudera.com/blog/2009/06/introducing-sqoop/ http://hive.apache.org/

มีตัวเลือกอื่น ๆ ด้วยเช่นกัน ...


นั่นเป็นคำตอบที่สมบูรณ์มาก ฟังดูไม่ง่ายเกินไป แต่ฟังดูเหมือนใช้เทคโนโลยีเจ๋ง ๆ มากมาย
โจ

มันไม่ได้ "เรียบง่าย" ในแง่ของจำนวนชิ้น ฯลฯ แต่จริงๆแล้วมันไม่ซับซ้อนเลยเมื่อคุณไป เครื่องมือใดที่คุณเลือกสำหรับชิ้นส่วนนั้นขึ้นอยู่กับสิ่งที่คุณมีในสภาพแวดล้อมและสิ่งที่คุณพอใจ ลองดูที่ลิงค์เหล่านั้นลองดูที่ลิงค์คำแนะนำหนังสือ
Mike Walsh

4

ไม่ใช่ NoSQL เหมือนกันทั้งหมด เช่น MongoDB มีความสามารถในการสืบค้นที่ดีมาก มันง่ายมากในการดึงข้อมูลเรียงลำดับข้อมูลในลักษณะที่เตือนให้คุณนึกถึง SQL ดังนั้นสิ่งที่ฉันกำลังพูดคือคุณไม่ควรคิด - SQL สำหรับการรายงานนอกเสียจากคุณจะมีเครื่องมือที่ไม่จำเป็นต้องมีข้อมูลที่สอดคล้องกับ SQL NoSQL อื่น ๆ บางส่วนเกี่ยวข้องกับการรับผลลัพธ์ที่คล้ายกับ SQL จากร้านค้าของคุณเช่น CouchDB นั้นไม่สำคัญเลยที่จะกำหนดคำค้นหาประเภท where-clause ที่เรียบง่าย MongodDB - ฉันใช้ไดรเวอร์ Python - เป็นของแน่นอน ดังนั้นฉันจึงพบว่ามันสำคัญน้อยกว่าที่จะต้องกังวลเกี่ยวกับการย้ายข้อมูลของฉันไปยังที่เก็บเชิงสัมพันธ์


3
คุณมีลิงค์หรือความเกี่ยวข้องกับ MongoDB หรือไม่? เข้าร่วมเพียงสี่คำตอบทั้งหมดเป็นบวกมากเกี่ยวกับ MongoDB ที่ดูเหมือนการตลาด คุณอาจจะถูกต้อง แต่มันเป็นรูปแบบที่ไม่ดีถ้าคุณมีความสนใจ ...
GBN

เห็นได้ชัดว่าคุณกลัวเขาที่นั่น GBN
jcolebrand
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.