ภาพรวมของพื้นที่เก็บข้อมูลบนเว็บ

คุณควรเลือกกลไกพื้นที่เก็บข้อมูลที่ถูกต้อง ทั้งสำหรับพื้นที่เก็บข้อมูลในอุปกรณ์และพื้นที่เก็บข้อมูลเซิร์ฟเวอร์บนระบบคลาวด์ เครื่องมือจัดเก็บข้อมูลที่ดีจะช่วยให้ข้อมูลของคุณได้รับการบันทึกอย่างน่าเชื่อถือ ลดแบนด์วิดท์ และปรับปรุงการตอบสนอง กลยุทธ์การแคชพื้นที่เก็บข้อมูลที่ถูกต้องเป็นองค์ประกอบพื้นฐานสําคัญในการเปิดใช้ประสบการณ์การใช้งานเว็บบนอุปกรณ์เคลื่อนที่แบบออฟไลน์

บทความนี้จะกล่าวถึงพื้นฐานสั้นๆ ของการประเมิน API และบริการพื้นที่เก็บข้อมูล หลังจากนั้นเราจะแสดงตารางการเปรียบเทียบและคำแนะนำทั่วไป ในอนาคตอันใกล้นี้ เราวางแผนที่จะเพิ่มแหล่งข้อมูลเพื่อทำความเข้าใจหัวข้อพื้นที่เก็บข้อมูลบางหัวข้ออย่างละเอียดยิ่งขึ้น

การจัดหมวดหมู่พื้นที่เก็บข้อมูล

มาเริ่มทำความเข้าใจมิติข้อมูลบางส่วนที่เราใช้วิเคราะห์พื้นที่เก็บข้อมูลสําหรับเว็บแอปกัน เราจะใช้เฟรมเวิร์กนี้ในภายหลังเพื่อแจกแจงและประเมินตัวเลือกพื้นที่เก็บข้อมูลมากมายที่มีให้นักพัฒนาเว็บ

โมเดลข้อมูล

รูปแบบการจัดเก็บหน่วยข้อมูลจะกำหนดวิธีจัดระเบียบข้อมูลภายใน ซึ่งส่งผลต่อความง่ายในการใช้งาน ค่าใช้จ่าย และประสิทธิภาพของคำขอพื้นที่เก็บข้อมูลและการเรียกข้อมูล

  • มีโครงสร้าง: ข้อมูลที่จัดเก็บไว้ในตารางที่มีช่องที่กําหนดไว้ล่วงหน้าตามปกติของระบบจัดการฐานข้อมูลที่อิงตาม SQL เหมาะสําหรับการค้นหาแบบยืดหยุ่นและแบบไดนามิก ซึ่งอาจไม่ทราบประเภทการค้นหาทั้งหมดล่วงหน้า ตัวอย่างที่โดดเด่นของที่เก็บข้อมูลแบบมีโครงสร้างในเบราว์เซอร์คือ IndexedDB

  • คีย์/ค่า: พื้นที่เก็บข้อมูลคีย์/ค่าและฐานข้อมูล NoSQL ที่เกี่ยวข้องมีความสามารถในการจัดเก็บและดึงข้อมูลที่ไม่มีโครงสร้างซึ่งจัดทําดัชนีโดยคีย์ที่ไม่ซ้ำกัน พื้นที่เก็บข้อมูลคีย์/ค่าจะคล้ายกับตารางแฮชตรงที่อนุญาตให้เข้าถึงข้อมูลแบบทึบแสงที่จัดทําดัชนีได้แบบคงที่ ตัวอย่างที่โดดเด่นของที่เก็บข้อมูลคีย์/ค่า ได้แก่ Cache API ในเบราว์เซอร์และ Apache Cassandra ในเซิร์ฟเวอร์

  • สตรีมไบต์: รูปแบบที่เรียบง่ายนี้จัดเก็บข้อมูลเป็นสตริงไบต์แบบไม่โปร่งใสที่มีความยาวแปรผัน โดยปล่อยให้เลเยอร์แอปพลิเคชันจัดระเบียบภายในในรูปแบบใดก็ได้ รูปแบบนี้เหมาะอย่างยิ่งสำหรับระบบไฟล์และกลุ่มข้อมูลอื่นๆ ที่จัดระเบียบตามลําดับชั้น ตัวอย่างที่โดดเด่นของที่เก็บข้อมูลสตรีมไบต์ ได้แก่ ระบบไฟล์และบริการพื้นที่เก็บข้อมูลระบบคลาวด์

ความต่อเนื่อง

วิธีการจัดเก็บสําหรับเว็บแอปสามารถวิเคราะห์ตามขอบเขตที่เก็บข้อมูลไว้

  • เซสชันถาวร: ระบบจะเก็บข้อมูลในหมวดหมู่นี้ไว้ตราบใดที่มีเซสชันเว็บหรือแท็บเบราว์เซอร์เดียวที่ใช้งานอยู่ ตัวอย่างกลไกพื้นที่เก็บข้อมูลที่มีเซสชันถาวรคือ Session Storage API

  • การเก็บรักษาในอุปกรณ์: ระบบจะเก็บข้อมูลในหมวดหมู่นี้ไว้ตลอดเซสชันและแท็บ/หน้าต่างเบราว์เซอร์ในอุปกรณ์หนึ่งๆ ตัวอย่างกลไกการจัดเก็บที่มีการจัดเก็บข้อมูลในอุปกรณ์คือ Cache API

  • การเก็บรักษาข้อมูลแบบถาวรทั่วโลก: ระบบจะเก็บรักษาข้อมูลในหมวดหมู่นี้ไว้ตลอดเซสชันและอุปกรณ์ ด้วยเหตุนี้ จึงถือเป็นรูปแบบการคงข้อมูลไว้ที่มีประสิทธิภาพมากที่สุด ตัวอย่างของกลไกพื้นที่เก็บข้อมูลที่มีความคงทนทั่วโลกคือ Google Cloud Storage

การรองรับเบราว์เซอร์

นักพัฒนาซอฟต์แวร์ควรเลือก API ที่เหมาะกับโดเมนปัญหาของตนมากที่สุด แต่ก็ต้องคำนึงถึงข้อเท็จจริงที่ว่า API ที่ได้มาตรฐานและเป็นที่ยอมรับนั้นดีกว่าอินเทอร์เฟซที่กำหนดเองหรือที่เป็นกรรมสิทธิ์ เนื่องจากมีแนวโน้มที่จะใช้งานได้นานขึ้นและได้รับการรองรับในวงกว้างมากขึ้น นอกจากนี้ สมาชิกยังอาจได้รับฐานความรู้ที่กว้างขึ้นและระบบนิเวศของนักพัฒนาซอฟต์แวร์ที่สมบูรณ์ยิ่งขึ้น

ธุรกรรม

บ่อยครั้งที่การดำเนินการกับพื้นที่เก็บข้อมูลที่เกี่ยวข้องต้องดำเนินการสำเร็จหรือล้มเหลวพร้อมกัน เดิมระบบจัดการฐานข้อมูลรองรับฟีเจอร์นี้โดยใช้รูปแบบธุรกรรม ซึ่งการอัปเดตที่เกี่ยวข้องอาจจัดกลุ่มเป็นหน่วยที่กำหนดเอง แม้ว่าจะไม่จำเป็นเสมอไป แต่ฟีเจอร์นี้มีความสะดวกและบางครั้งก็จำเป็นในบางโดเมนปัญหา

ซิงค์/ไม่พร้อมกัน

API พื้นที่เก็บข้อมูลบางรายการเป็นแบบซิงค์ในแง่ที่ว่าคำขอพื้นที่เก็บข้อมูลหรือการเรียกข้อมูลจะบล็อกเธรดที่มีการใช้งานอยู่ในปัจจุบันจนกว่าคำขอจะเสร็จสมบูรณ์ ซึ่งจะส่งผลเสียอย่างยิ่งในเว็บเบราว์เซอร์ที่คำขอพื้นที่เก็บข้อมูลแชร์เธรดหลักกับ UI เราขอแนะนำให้ใช้ API พื้นที่เก็บข้อมูลแบบไม่พร้อมกันเพื่อประสิทธิภาพและประสิทธิผล

การแก้ไขข้อบกพร่องพื้นที่เก็บข้อมูลในเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome

อ่านเอกสารต่อไปนี้เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้เครื่องมือสำหรับนักพัฒนาเว็บใน Chrome เพื่อตรวจสอบและแก้ไขข้อบกพร่องของ Web Storage API ที่คุณเลือก API ที่ไม่ได้กล่าวถึงในที่นี้ไม่รองรับในเครื่องมือสำหรับนักพัฒนาเว็บหรือไม่เกี่ยวข้อง

หากคุณใช้ Storage API หลายรายการ ให้ดูฟีเจอร์ล้างพื้นที่เก็บข้อมูลของ DevTools ฟีเจอร์นี้ช่วยให้คุณล้างร้านค้าหลายร้านได้ด้วยการคลิกปุ่มเดียว โปรดดูข้อมูลเพิ่มเติมที่หัวข้อล้าง Service Worker, พื้นที่เก็บข้อมูล, ฐานข้อมูล และแคช

ไปที่ไหนต่อดี

หลังจากที่ได้ดูวิธีต่างๆ ที่เกี่ยวข้องในการคิดเกี่ยวกับกลไกการจัดเก็บข้อมูลและเปรียบเทียบ API และบริการที่ได้รับความนิยมสูงสุดในปัจจุบันแล้ว เราจะเพิ่มเนื้อหาเพิ่มเติมในเร็วๆ นี้เพื่อเจาะลึกหัวข้อที่น่าสนใจอย่างน้อย 1 หัวข้อ