RDS只读的价格跟普通的没啥区别呀....
ReRDS只读的价格跟普通的没啥区别呀
一个数据库,必须要保证读取到的数据是正确的。一个数值为1,被改成2以后,读出来就要是2。如果只有一个人操作,那这不是问题。如果同时有上万人操作,那这是一个极其复杂的技术问题。如果再牵涉到事务,回滚等操作,那么复杂程度就会成几何方式上升,所占用的硬件资源也成几何程度上升。
增、删、查、改,四个基本操作可以简化为读操作和写操作。只读实例就是将读写操作简化的一种技术手段。
以w代表写,以r代表读,
在普通实例上,读写操作是这样进行的:
w r w w r w r r r r 读和写完全无规律,实时进行,占用资源多。
在只读实例上:
w r r r r r r r w r r r r r r r r 定时写(或者根据其他同步规则写),读的规律和实时请求相同。
绝大多数写操作是有排他锁的,就是A写的时候B,C,D都不准写,也不准读。那么无数的读操作只有等待写完以后才能读。如果没有排他锁,那么无法保证读到的数据是写之前的数据还是写之后的数据,甚至是一个未知的数据。
绝大多数读操作是没有任何锁的,就是A读的时候,B,C,D都可以读。
那么在将写操作规律化以后,空出一个时间片给写操作,在这个时间片里,大家都不来读,当这个时间过后,大家尽情读。这样整体效率提高很多。这是只读数实例存在的意义。
赞0
踩0