MemSQL พัฒนาโดยอดีตนักพัฒนาของเฟซบุ๊กสองคน Eric Frenkiel และ Nikita Shamgunov มีหลักการคล้ายกับ HipHop for PHP ของเฟซบุ๊ก โดยมีการแปลงคำสั่ง SQL ที่เข้ามาไปเป็น C++ และคอมไพล์เป็น native code ทำให้ไม่จำเป็นต้องใช้ตัวแปลภาษา SQL ที่เป็น interpreter ซึ่งทำงานได้ช้ากว่า เมื่อเจอคำสั่งรูปแบบเดิมก็จะใช้โค้ดเดิมที่คอมไพล์ไว้แล้ว และมีการทำงานกับข้อมูลบนเมมโมรี่ซึ่งเร็วกว่าการอ่านเขียนจากดิสก์
มีวีดีโอโชว์ประสิทธิภาพเทียบกับ MySQL โดย MemSQL สามารถทำงานได้ถึงกว่า 80,000 คำสั่งต่อวินาที ส่วน MySQL ทำได้ประมาณ 2-3 พันคำสั่งต่อวินาที
ที่มา: I Programmer
MemSQL Product Overview from MemSQL on Vimeo.
Comments
แล้วมันเก็บอะไรไว้บนเมมโมรีบ้างครับ? ต้องใช้พื้นที่มหาศาลขนาดไหน? หรือเฉพาะชุดคำสั่ง
มันเร็วขึ้นเพราะขั้นตอนมันน้อยลง น่าจะกิน ram น้อยลงด้วมั้งครับ
samsung ใหญ่แค่ใหน ?
https://youtu.be/6Afpey7Eldo
ทำไมผมได้ยินเป็นเม็มซีโคว ๆ หรือว่าจริงๆเข้าเรียกกันอย่างนี้
The official way to pronounce “MySQL” is “My Ess Que Ell” (not “my sequel”), but we do not mind if you pronounce it as “my sequel” or in some other localized way.
อ้อ มันคือ SeQueL นี้เอง
ที่รู้คือเฉพาะ SQL Server นะครับที่ให้อ่านแบบนั้น
ปกติอ่าน S-Q-L กันแหละครับ
มีเฉพาะ MS SQL Server ที่ MS บอกเองเลยว่าอ่านว่าซีควล ให้เหตุผลว่าเป็นชื่อเฉพาะจึงออกเสียงแบบนี้
ส่วน MemSQL เอาตามผู้ผลิตครับ เค้าออกเสียงยังไงก็คืออย่างนั้น
เคยเรียนวิชา Database System กับอาจารย์ท่านหนึ่งที่เคารพรัก
ท่านได้เล่าให้ฟังเกี่ยวกับประวัติของชื่อภาษาดังกล่าวไว้ว่า เราเรียกได้ทั้งสองแบบครับ เนื่องจากเมื่อก่อนคนที่คิด Relational Database ที่เราใช้กันอยู่ทุกวันนี้คือ อ.Codd ซึ่งท่านทำงานอยู่ที่ Research Lab ของ IBM และตอนเผยแพร่นั้น ท่านได้เรียกภาษาที่ใช้กับ RDB ว่า SEQUEL
จากนั้น Oracle ก็ได้พัฒนา RDB มาเหมือนกัน และเรียกภาษานั้นว่า SEQUEL เช่นเดียวกับ IBM ซึ่งก็สร้างความไม่พอใจให้กับ IBM พอควร IBM จึงเปลี่ยนชื่อภาษาที่ใช้จาก SEQUEL(ซีโควว) ไปเป็น SQL(เอสคิวแอล) ครับ
หากผิดพลาดประการใด หรือมีข้อมูลเสริมเติม รบกวนด้วยนะครับ ขอบคุณครับ
มันคือตัวย่อทั้ง 2 ชื่อแหละครับ
ผมอยากจะขอ Jam แก้ไขความคลาดเคลื่อนหน่อยนะครับ คือเรื่องที่ IBM เปลี่ยนชื่อ SEQUEL ไปเป็น SQL นั้น ไม่เกี่ยวกับ Oracle ครับ และอีกเรื่อง Codd อยู่กับ RS Inc ครับ ไม่ได้อยู่กับ IBM
เมื่อก่อนชื่อเต็มคือ Structured English Query Language จึงย่อเป็น SEQUEL โดย IBM
หลังจากนั้นไม่นาน IBM ก็มีปัญหาที่ชื่อย่อว่า SEQUEL ดันถูกจดทะเบียนเครื่องหมายการค้าไปก่อนแล้วโดยบริษัทผลิตเครื่องบินรบบริษัทหนึ่ง (ไปค้นกันเอาเองนะครับ ผมจำไม่ได้ละเอียด) ก็เลยเป็นอันได้ปรับชื่อใหม่เป็น Structured Query Language จึงย่อเป็น SQL
ในช่วงเวลาเดียวกันนั้นมี QUEL เกิดขึ้นอีกตัว ซึ่งผมจำรายละเอียดไม่ได้นักเพราะไม่ได้ลองเล่นจริงๆ จังๆ
หลังจากนั้นไม่นาน RS Inc (ปัจจุบันคือ Oracle) ก็ออก RDBMS ของตัวเองออกมา โดย Codd, Chamberlin และ Boyonce (มั๊ง - สะกดคลาดเคลื่อนไปบ้างก็อย่าถือสานะครับ)
ส่วนตัวผม ติดเรียกว่า S Q L มาแต่ไหนแต่ไรเพราะในหัวมีชื่อเต็มของมันอยู่ครับ ความรู้สึกผมมันคล้ายๆ กับที่เราคนไทยไม่เคยอ่านคำย่อ "ผจก" ว่า ผะ-จก เลยนั่นเอง
หรือต่อไป เราจะเรียก สตง (สำนักงานการตรวจเงินแผ่นดิน) ว่า สะ-ตง กันดี?
ขอแก้ไขนิดนึงนะครับ
จากประวัติของ Oracle Corporation ใน Wikipedia ย่อหน้าชื่อ History กล่าวไว้ว่า "Ellison took inspiration from the 1970 paper written by Edgar F. Codd on relational database management systems (RDBMS) " จะเห็นได้ว่า อ. Codd นั้นมิได้เป็นผู้มีส่วนร่วมใน Oracle แต่อย่างใด เพราะตา Ellison ไปได้รับแรงบันดาลใจ(แค่ชำเลืองมองแล้วเกิดแรงบันดาลใจเฉยๆ จิงจิ๊งงงง) แล้วเลยมาตั้งบริษัทเองคือ Oracle นี่แล
ส่วนคนที่เป็น Founder ของ Oracle นั้นคือ Larry Ellison, Bob Miner, Ed Oates ครับ อยู่ด้านขวาของลิงค์ใน Wikipedia เลยครับ
ส่วน อ.Codd อยู่ IBM นั้นก็จาก Wikipedia อีกเช่นกัน ในหัวข้อ Biography ที่กล่าวว่า "he(ในที่นี้คือ อ.Codd) moved to New York to work for IBM as a mathematical programmer." และ "Two years later he moved to San Jose, California, to work at IBM's San Jose Research Laboratory, where he continued to work until the 1980s. During the 1990s, his health deteriorated and he ceased work."
เรื่องสุดท้ายคือการเปลี่ยนชื่อ ผมคิดว่า Oracle น่าจะมีผลต่อการเปลี่ยนชื่อ เนื่องจากประโยคนี้ครับ " Even so, SEQUEL was so superior to pre-relational systems that it was copied, in 1979, based on pre-launch papers presented at conferences, by Larry Ellison, of Relational software Inc, in his Oracle Database, which actually reached market before SQL/DS — due to the then-already proprietary status of the original name, SEQUEL had been renamed SQL."
หากผิดพลาดประการใดโปรดชี้แนะครับ จะได้เป็นการแชร์ข้อมูลและปรับความเข้าใจ ความถูกต้องให้ตรงกันครับ :)
ยอมรับครับ สำหรับเรื่องสถานภาพของ Codd นั้น ความทรงจำผมจะ Error ได้มาก
แต่ที่จำได้แน่ๆ คือ RS Inc มาเริ่มทำ RDBMS หลัง SEQUEL ออกมาแล้วหลายปี (ราว 3-4 ปี) ซึ่ง... SEQUEL ได้ถูกเปลี่ยนชื่อเป็น SQL ไปแล้วครับ เพราะที่มีปัญหาไปทับเครื่องหมายการค้านั่น อันนั้นผมจำได้ชัดเจนเพราะ SEQUEL เป็น RDBMS Concept แรกของโลก การจำเป็นต้องเปลี่ยนชื่อนั้นเป็นเรื่องที่เด่นดังในวงการไม่ใช่น้อยครับ
ว่าแล้ว... เห็นยก Wikipedia มา เลยต้องไปหามาบ้าง
http://en.wikipedia.org/wiki/SQL
ก็เอาจากที่เดียวกับคุณเลยแล้วกัน ย่อหน้าแรกของ History ก็มีระบุสาเหตุที่เปลี่ยนชื่อแล้วครับ แล้วทำให้ผมได้รำลึกขึ้นมาได้ว่าคือ Hawker Siddeley นี่เองที่เป็นเจ้าของชื่อ SEQUEL อยู่แล้ว
ข้อความที่คุณยกมานั้น สำหรับผม เมื่อทำความเข้าใจกับความทรงจำแล้วคือ RS Inc (Oracle ปัจจุบัน) ยึดตาม SEQUEL Concept และใช้ตามชื่อนั้นจน 1979 (จากความทรงจำผม ก็เพราะว่า RDBMS ของ RS Inc เริ่ม Launch ปีนั้นนั่นแหละครับ) ซึ่งเมื่อออกมาแล้วก็จะเป็นต้องเปลี่ยนชื่อไปตามสถานะชื่อปัจจุบัน (ที่ถูกเปลี่ยนไปแล้วเพราะมีเรื่องกับ Hawker)
ที่ผมตีความได้แบบนั้นเพราะอาศัยความทรงจำด้วยครับ RS Inc จะเริ่มเอา Concept ไปทำตั้งแต่เมื่อไหร่นั้น ต้องก่อน 1979 แน่นอน ซึ่ง First concept paper ของ Codd ย่อมใช้ชื่อ SEQUEL แน่นอน (ซึ่งออกมาตั้งแต่ปี 1974) แต่กว่า RS Inc จะปล่อย RDBMS ตัวจริงออกมาได้ ก็พบว่า Current name (ณ 1979) เป็น SQL ไปแล้ว จึงต้องเปลี่ยนตาม
ดังนั้น RS Inc จึงไม่มีผลใดๆ ต่อการเปลี่ยนชื่อแม้แต่น้อย (บริษัทเพิ่งตั้งด้วยซ้ำ) แต่เป็นเพราะ Hawker ครับ เลยต้องเปลี่ยน
SQL มันเป็นภาษาอังกฤษ จะเทียบกับ ผกจ หรือ สตง คงไม่ดี ต้องเทียบกับคำอังกฤษสิครับ
IBM อ่านว่า ไอบีเอ็ม UN อ่านว่า ยูเอ็น แต่ EUFA ดันอ่านว่า ยูฟ่า AIDS ดันอ่านว่า เอดส์
สรุป อ่านยังไงก็อ่านไปเถ๊อะ
ครับ ใช่แล้ว... จะอ่านยังไงก็อ่านกันไปเถอะ
ที่มา Reply อันนี้เพราะพยายามจะอธิบายให้ชัดเจนว่า...
ที่ผมได้กล่าวไปคือ "ส่วนตัวผม" น่ะครับ ว่าทำไม "ความรู้สึกส่วนตัว" จึงอ่าน S-Q-L ผมมิได้หมายความถึงทุกคนหรือใครๆ ควร จะอ่านอย่างไรน่ะครับ...
ความรู้สึกส่วนตัว ที่ทำให้ตัวผมออกเสียงว่า S-Q-L เพราะส่วนตัวรู้สึกทะแม่งเหมือนพยายามออกเสียงคำย่อในภาษาไทย การยกคำว่า สตง มาเพื่อให้เข้าใจความรู้สึกทะแม่งส่วนตัวของผมได้ง่าย โดยเพียงคุณนึกในใจว่า สะ-ตง แทนที่จะเป็น สอ-ตอ-งอ ครับ
ขออภัย ถ้า Reply ที่แล้วผมสื่อไม่ชัด ว่าคือการอธิบายเหตุผลส่วนตัวครับ
คุณจักรนันท์ยังติดค้างเรื่องรถงูอยู่นะครับ
อย่านึกว่าผมลืมนะ จะงอนแล้วเนี่ย
ไม่ลืมครับ ถ้าผม Jam ไว้แล้วมันขึ้นใน My recent posts แบบนี้หาง่ายและมันเป็น Reminder ได้ดี (Credit เจ้าของ Blog) แต่อันยาวๆ ต้องไว้ต่อตอนมีเวลาว่างพิมพ์ยาวๆ
ผมค้างเรื่องยาวไว้ 2 เรื่องครับ
ถ้าสั้นๆ ก็พอจะก๊อกแก๊กออกมาได้ก่อนน่ะครับ
งั้นขอรอแบบยาวๆ ดีกว่า
ขอบคุณครับ รออยู่จุ๊บๆ
อืม ... น่าลองมากๆ ครับ
จับยัด server ของที่ทำงานจะดีมั้ยน้า
ได้เทียบกับ MySQL ที่สร้างบน Memory แล้วหรือยังครับ
อยากเห็นเปรียบเทียบกับ NoSQL จัง
PanJ's Blog
ถ้าจะตัดขั้นตอน + เร็วขนาดนี้...
โอววว แหล่มเป็ด
กราฟของ MemSQL เป็น Exponential เลย
จริงๆ แล้วส่วนที่ช้าของ MySQL ก็คือ Query parser อยู่แล้วไม่ใช่เหรอครับ? อย่างถ้า query ผ่าน HandlerSocket plugin ที่ไม่ต้องทำ query parser เค้าก็ว่าก็เร็วขึ้นเยอะเหมือนกันนะ
pittaya.com
ในผล Benchmarking
เค้าว่า HandleSocket plugin for MySQL มีประสิทธิภาพเร็วกว่า Memcached เกือบ 2 เท่า เลยนะครับ ^^
FYI, Why hasn’t HandlerSocket become more popular than it is?
http://www.mysqlperformanceblog.com/2011/03/28/whats-up-with-handlersocket/
(March 28, 2011)
ไม่รู้ว่าได้แก้ไขแล้วหรือยังนะครับ
ในส่วนของการ storage ก็มีผลมาก ๆ ครับ สามารถทดสอบได้โดยใช้คำสั่งที่ได้จำนวน record มาก ๆ มันก็ยังช้ากว่าพวก NoSQL มากอยู่ดี
ขอถามเป็นความรู้ว่า ปัจจัยอะไรที่ทำให้ NoSQL เร็วกว่าครับ
ตรงนี้เลยครับ No SQL และ NoSQL ทำงานบน Memory เป็นหลักครับ
ขอบคุณครับ ... เพิ่งรู้ว่า No SQL กับ NoSQL มันคนละตัว
แบบนี้ shared host รู้ไปก็เท่านั้นครับ ลงเองไม่ได้ คงต้องลองกับ server บริษัท ก๊าก
แล้วเทียบกับsybase iqหละครับ
รองรับการทำ Transaction หรือเปล่า
Texion Business Solutions