NoSQL Data Modeling: Application Design Before Schema Design
Blog post from ScyllaDB
Bo Ingram's blog post, derived from "ScyllaDB in Action," emphasizes a query-first design approach for creating a ScyllaDB schema tailored to application needs, using a restaurant review application as an example. The approach involves first identifying the application's requirements and the necessary queries to meet these needs, then designing the database schema to support these queries efficiently. Key to this method is balancing data distribution across the cluster to ensure scalability and fault tolerance while minimizing the number of nodes involved in each query to enhance performance. By focusing on the queries required by the application, the schema is structured around how the data will be accessed, leading to considerations about partitioning and data storage that align with ScyllaDB's architecture. This approach helps avoid performance penalties and high-friction schema changes later on, as the schema is developed to accommodate both current and potential future needs.