Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Redis

การย้ายข้อมูลจาก Redis Open Source ไป Redis Enterprise ภายใน 5 นาทีแบบราบรื่น

การย้ายข้อมูลจากแหล่งข้อมูลหนึ่งไปยังอีกแหล่งหนึ่ง สร้างความเสี่ยงสูงต่อธุรกิจ อาจเกิดหลายปัญหา เช่น การสูญหายข้อมูล การเปลี่ยนแปลงโครงสร้างชุดข้อมูลทำให้เกิดความเสี่ยงทางความหมาย (semantics risk) การหยุดทำงานนานกว่าคาดไว้ (extended downtime) และการเสียหายของข้อมูล (data corruption) เพื่อเพียงไม่กี่อย่าง แม้จะมีความเสี่ยง ธุรกิจก็ต้องปรับตัวสร้างนวัตกรรมเพื่อความอยู่รอด หมายถึงการนำข้อมูลจากฐานข้อมูลเก่าหรือ legacy ไปใส่ในฐานข้อมูลใหม่ บางส่วนหรือทั้งหมด เพื่อใช้ประโยชน์จากศักยภาพใหม่ๆ ที่จำเป็น กรณีนี้คือบริษัทต่างๆ ย้ายข้อมูลมาสู่โซลูชัน in-memory เช่น Redis เพื่อใช้ประโยชน์จากพลังของข้อมูลเรียลไทม์

การย้ายข้อมูลจาก Redis Open Source ไป Redis Enterprise ภายใน 5 นาทีแบบราบรื่น

Redis Open Source เป็นวิธีที่ยอดเยี่ยมในการนำความสามารถเรียลไทม์เข้าสู่แอปพลิเคชันของคุณ ด้วย Redis Enterprise คุณจะได้สิ่งที่คุณชอบใน Redis พร้อมกับ: การขยายตัวแบบเส้นตรงแบบไม่จำกัด (infinite linear scalability) ความพร้อมใช้งานสูงสุด 5 นיין (five 9s of true high availability) ความปลอดภัยในตัว (security built-in) และวิธีเก็บต้นทุนให้ต่ำด้วย Redis on Flash เมื่อคุณเริ่มเติบโตเกิน Redis Open Source คำถามคือ: จะย้ายข้อมูล Redis ไปยัง Redis ระดับองค์กร (enterprise-hardened Redis) ได้อย่างปลอดภัยและมีประสิทธิภาพสูงสุดอย่างไร คำตอบคือ: Redis Enterprise

ทำไมต้องย้ายจาก Redis Open Source ไป Redis Enterprise?

ในฐานะสถาปนิก (architect) ลูกค้าของคุณจะต้องการความสามารถใหม่ๆ และประสิทธิภาพที่เชื่อถือได้ ซึ่งคุณไม่สามารถได้จาก Redis Open Source โดยไม่ต้องสร้างขึ้นมาเองจากศูนย์ ในฐานะผู้ปฏิบัติงาน (operator) คุณจะต้องการการตั้งค่าที่ง่าย และวิธีที่เชื่อถือได้และง่ายในการดูแล pipeline ข้อมูลสำคัญนี้ โดยไม่ต้องมีภาระดูแลรักษาและการดำเนินการด้วยมือมากเกินไป Redis Enterprise เป็นวิธีที่ง่ายและตรงไปตรงมาที่สุดในการย้ายข้อมูล Redis จาก Redis Open Source ไปยังเวอร์ชัน Redis ที่สร้างขึ้นสำหรับโซลูชันระดับองค์กร มาลองดูรายละเอียดกัน

การย้ายฐานข้อมูล Redis Enterprise: การปรับใช้แบบไม่มี downtime (Zero-downtime deployment)

เพื่อเข้าใจว่าจะทำการย้ายฐานข้อมูล (database migration) แบบไม่มี downtime ได้อย่างไร เราต้องเข้าใจฟีเจอร์เบื้องหลังของ Redis Enterprise ที่ช่วยให้เราทำ migration นี้ได้ Redis Enterprise มีความสามารถในการให้ Active-Passive Geo-Distributed Replication ไปยังแอปพลิเคชันด้วยการเข้าถึงแบบอ่านอย่างเดียว (read-only access) ไปยังรีพลิคาจากตำแหน่งทางภูมิศาสตร์ที่ต่างกัน เราเรียกฟีเจอร์นี้ว่า "Replica Of"

การย้ายข้อมูลจาก Redis Open Source ไป Redis Enterprise ภายใน 5 นาทีแบบราบรื่น

ในการกำหนดค่าฐานข้อมูล Redis Enterprise เราสามารถกำหนดฐานข้อมูลหนึ่งเป็น replica (ปลายทาง) ของฐานข้อมูลหนึ่งหรือหลายฐานข้อมูล (สูงสุด 32 ฐานข้อมูล) (แหล่งที่มา) หลังจากโหลดข้อมูลครั้งแรกจากแหล่งที่มายังปลายทางเสร็จสิ้น คำสั่งเขียน (write commands) ทั้งหมดจะถูกซิงโครไนซ์จากแหล่งที่มาไปยังปลายทางอย่างต่อเนื่อง นี่ช่วยให้คุณสามารถทำ database migration แบบไม่มี downtime ได้ เนื่องจากสะพานการจำลอง (replication bridge) ระหว่างฐานข้อมูลปลายทางและแหล่งที่มาสามารถเชื่อมต่ออยู่ได้นานเท่าที่ต้องการ แม้แต่ถาวร

การย้ายข้อมูลจาก Redis Open Source ไป Redis Enterprise ภายใน 5 นาทีแบบราบรื่น

Replica Of ช่วยให้คุณกระจายโหลดการอ่าน (read load) ของแอปพลิเคชันไปยังหลายฐานข้อมูล หรือซิงโครไนซ์ฐานข้อมูล ไม่ว่าจะภายใน Redis Enterprise หรือภายนอก Redis Enterprise ไปยังฐานข้อมูลอีกแห่ง

การย้ายฐานข้อมูล Redis Enterprise: Active-Active Geo-Distribution

คุณอาจสงสัยเรื่องการเข้าถึงเขียน (write access) สำหรับเรื่องนี้ Redis Enterprise มี Active-Active Geo-Distribution (CRDB) ที่ให้การเข้าถึงเขียน (write access) ไปยังรีพลิคาของฐานข้อมูลทั้งหมด พร้อมกับประโยชน์อื่นๆ ระหว่างการย้ายฐานข้อมูล

ด้านล่างคุณจะเห็นการสาธิตแบบเร็ว (lightning demo) ว่าตั้งค่าได้ในไม่เกิน 5 นาที แต่ก่อนดู เรามาพูดถึงกระบวนการจำลองข้อมูล (data replication process) เมื่อฐานข้อมูลของเราถูกกำหนดเป็น replica ของอีกฐานข้อมูลหนึ่ง ข้อมูลเดิมทั้งหมดจะถูกลบและแทนที่ด้วยข้อมูลที่โหลดจากฐานข้อมูลแหล่งที่มา ในการสาธิตเร็วนี้ เราจะเริ่มด้วยฐานข้อมูล Redis Enterprise ใหม่ที่มีข้อมูลศูนย์ เพื่อไม่เสี่ยงต่อการสูญหายข้อมูล เมื่อโหลดข้อมูลครั้งแรกเสร็จสิ้น กระบวนการซิงโครไนซ์อย่างต่อเนื่องจะเกิดขึ้น เพื่อให้ฐานข้อมูลปลายทางซิงโครไนซ์กับแหล่งที่มาตลอดเวลา

การย้ายข้อมูลจาก Redis Open Source ไป Redis Enterprise ภายใน 5 นาทีแบบราบรื่น

ในแง่ของความปลอดภัย Replica Of รองรับการเข้ารหัส (encryption) สำหรับการจำลองข้อมูลแบบหนึ่งทาง (unidirectional replication) ระหว่างแหล่งที่มาและปลายทางของ Redis cluster โดยใช้การเข้ารหัส TLS 1.2

แต่ถ้าฐานข้อมูลแหล่งที่มา (source database) ถูกแบ่งชาร์ด (sharded) ละ? ฐานข้อมูลทั้งหมดจะถูกจัดการเป็นแหล่งที่มาเดียวสำหรับฐานข้อมูลปลายทาง ถ้าฐานข้อมูลปลายทางถูกแบ่งชาร์ด ฟังก์ชันแฮชของฐานข้อมูลปลายทางจะถูกนำมาใช้เพื่อตัดสินใจว่าคำสั่งไหนไปที่ชาร์ดไหน

حسناً นี่คือสิ่งที่คุณต้องรู้เกี่ยวกับการย้ายข้อมูลจาก Redis Open Source ไป Redis Enterprise มาเข้าสู่การสาธิตเร็ว (lightning demo) ว่าจะทำอย่างไรกับฐานข้อมูล Redis ของคุณ เพื่อใช้ประโยชน์ไม่ได้แค่พลังเรียลไทม์ แต่เป็นพลังเรียลไทม์พร้อมความสามารถระดับองค์กร (enterprise-grade capabilities)

No