If you are designing your architecture for stateful edge applications, here are some key principles and design patterns you should be aware of.
Customers today expect always-on, highly responsive access to services wherever they are in the world. This is driving businesses to deploy globally distributed applications that deliver better customer experiences. Moving to a geo-distributed database is a key part of this. Moving data closer to where the end-users are enables lower latency access. Geo-distribution can make the data service resilient to zone and region failures in the cloud. Recent adverse weather conditions and data center accidents have underscored the need for this.
YugabyteDB is built primarily to be a CP database per the CAP theorem. It supports two interfaces – YSQL for SQL workloads and YCQL for Cassandra-like workloads. In this blog, we will primarily talk about the YCQL interface. When an application interacts with the database using the YCQL interface, the writes are always consistent and reads are consistent by default. When this level of consistency is not required, YugabyteDB supports two other types of reads: