Skip to content

Tag: nosql

การลบ keys แบบ wildcard ใน Redis

ใครใช้ Redis คงจะรำคาญอยู่บ้างเวลาที่ต้องลบ key หลายๆ key พร้อมกันโดยกำหนด pattern (แบบ wildcard) เพราะ Redis ไม่มีคำสั่งแบบนั้นโดยตรง ตัวอย่างเช่น เราต้องการลบ key ที่ขึ้นต้นด้วย user:* ก็ต้องใช้ Linux command ช่วย เช่น

หรือ

แล้วแต่ท่าของแต่ละคน แล้วถ้าจำเป็นต้องทำใน Redis shell ล่ะ จะทำยังไง?

Leave a Comment

MongoDB: ปัญหา write performance ช้าลงเมื่อทำ index หลาย field

ผมอ่าน release note ของ MongoDB 3.0 ไปบ้างแล้ว เหตุที่ MongoDB 3.0 ต้องปรับปรุงประสิทธิภาพการเขียนข้อมูล, การทำ index และเปิดให้ใช้ storage engine ตัวใหม่เพื่อรองรับงานที่มีการเขียนหนักๆ (ยกตัวอย่างเช่น IoT) เพราะหากมีการทำ index หลาย field และมีการ insert เข้ามาเร็วๆ ความเร็วในการ insert จะลดลงค่อนข้างเห็นได้ชัด

วันนี้เจอกับตัวเองเลยครับ จริงๆ Official document ก็เตือนไว้แต่เนื่องจากคนมันดื้อเลยใช้ต่อ (สมน้ำหน้า :p) แต่ใช้ไปใช้มาแล้วมันช้าพาลหงุดหงิดเลยต้องแก้ปัญหาเฉพาะหน้าไปก่อน โดยการ drop index ทิ้งไปก่อน insert เสร็จแล้วค่อยสั่ง ensureIndex() อีกครั้ง (ช้า-เร็วแล้วแต่ปริมาณข้อมูล) หรือถ้าเป็นแอปพลิเคชันที่จำเป็นต้องทำงานอยู่ตลอดอาจจะต้องทำ replication หรือแยกเป็น 2 ก้อน ก้อนนึงใช้เก็บอย่างเดียว อีกก้อนก็ทำ index ใช้งานปกติ

Leave a Comment

ความเข้าใจผิดเกี่ยวกับ NoSQL Databases

ช่วง 1-2 ปีที่ผ่านมาบ้านเรามีการพูดถึง Cloud และ BigData กันเยอะมาก (จริงๆ ฝรั่งเขาเริ่มมานานละ) ถ้าใครสนใจเชิงเทคนิคคงจะได้ตามเข้าไปดูถึง Software Stack ว่าใช้อะไรใน stack บ้าง ที่พบเห็นได้ทั่วไปก็ซอฟต์แวร์สำหรับ aggregate ข้อมูล และที่ขาดไม่ได้ก็ database สำหรับเก็บข้อมูล และคงได้ยินคำว่า NoSQL กันมาบ้าง

Leave a Comment

Redis Labs ใช้ Redis บน cloud ได้แบบฟรีๆ

ผมใช้ OpenShift อยู่ ใช้ทำ project กิ๊กก๊อกทั่วไปตามประสาคนชอบลองนู่นลองนี่ platform สำหรับรันภาษาโปรแกรมต่างๆ ถือว่าดีและง่ายพอสมควร แต่บางทีก็อยากใช้พวก NoSQL เช่น MongoDB และ Redis ด้วย

ในยุคที่ cloud ครองโลกอินเทอร์เน็ตบริการพวก “*-as-a-Service” เกิดขึ้นมากมายราวกับดอกเห็ด PaaS (Platform as a Service) ก็มีให้ใช้ฟรีแล้วถ้าอยากใช้ DaaS (Database as a service) ทำไมจะไม่มีล่ะ ผมเคยลองใช้ MongoLab มาก่อนเลยคิดว่า Redis (NoSQL แบบ Key-Value) ก็น่าจะมีเหมือนกัน ค้นไปค้นมาก็เจอนี่ครับ

Leave a Comment