ฉันทำงานกับแอปพลิเคชันที่ใช้ bitmasks เพื่อเก็บการกำหนดบทบาทผู้ใช้ มันเจ็บที่ก้น หากสิ่งนี้ทำให้ฉันลำเอียงมีความผิดในข้อหา
หากคุณใช้ฐานข้อมูลเชิงสัมพันธ์อยู่แล้วมันเป็นรูปแบบการต่อต้านที่ละเมิดทฤษฎีเชิงสัมพันธ์ส่วนใหญ่และกฎการทำให้เป็นมาตรฐานทั้งหมด เมื่อคุณสร้างที่เก็บข้อมูลของคุณเองมันอาจไม่ใช่ความคิดที่เลวร้ายนัก
มีหลายอย่างที่ตารางเข้าร่วมมากเกินไป แต่ฐานข้อมูลเชิงสัมพันธ์ถูกสร้างขึ้นเพื่อจัดการกับสิ่งนี้ หลายคนมีคุณสมบัติเพิ่มเติมหากประสิทธิภาพกลายเป็นปัญหา: ดัชนีมุมมองที่จัดทำดัชนี ฯลฯ แม้ว่าค่าที่คุณค้นหาไม่เปลี่ยนแปลงบ่อยนักซึ่งเป็นข้อได้เปรียบสำหรับ Bitmask ผู้ที่ต้องจัดการกับดัชนีมากเกินไปคือ ค่อนข้างง่ายในฐานข้อมูล
แม้ว่าฐานข้อมูลจะทำงานได้ดีในการรวบรวมข้อมูล แต่พวกเขาก็อาจเฉื่อยชาเมื่อคุณเริ่มแนะนำสิ่งต่าง ๆ เช่นสูตรที่ซับซ้อนหรือฟังก์ชันสเกลาร์ไปยังชุดข้อมูล คุณสามารถทำ bitwise ในแอปของคุณได้ แต่หากสิ่งที่คุณทำคือการรับข้อมูลที่เกี่ยวข้อง (ค้นหาบทบาทของผู้ใช้) คุณจะไม่ได้รับประโยชน์จากการจัดเก็บข้อมูลของคุณที่ดีที่สุด
อาร์กิวเมนต์สุดท้ายของฉันกับมันจะง่ายสำหรับนักพัฒนาอื่น ๆ คุณมีผู้ใช้บทบาทและการมอบหมาย มันเป็นชุดความสัมพันธ์แบบหลายต่อหลายคน (เนื่องจากมีมากกว่าหนึ่งความสัมพันธ์) ที่เป็นเรื่องธรรมดามันควรจัดการได้ง่าย มันเป็นเพียงสิ่งที่ CRUD