Designing Data-Intensive Applications 7: Transaction

Summary Race condition scenarios Dirty Reads One client reads another client’s writes before they have been committed. The read committed isolation level and stronger levels prevent dirty reads. Dirty Writes One client overwrites data that another client has written, but not yet committed. Almost all transaction implementations prevent dirty writes. Two transactions concurrently try to update the same object in a database, normaly

Designing Data-Intensive Applications 6: Partition

Partition Partition 两种主流方式 partition by key range: efficient at range query but may got skewed and hotspot issue partition by hashing key: less skewed and hostspot issue but sacrifices range query performance Partitioning secondary indexes By Document(local index): Cassandra, MongoDB, ElasticSe

Designing Data-Intensive Applications 5: Replication

Replication 定义 Keep a copy of the same data on multiple machines via networks 作用 Increase availability keep the system running, even one machine (or several machines, or even one data center) goes down place data geographically close to users, so users can interact with the data faster Increase reliability allow disconnected operation: allow an application continue working even when there is a network interruption. e.g. 日历

Numpy 参考手册

Data Types Type Name Type Code Description int8 uint8 i1 u1 8-bit integer int16 uint16 i2 u2 16-bit integer int32 uint32 i4 u4 32-bit integer int64 uint64 i8 u8 64-bit integer float16 f2 Half-precision float float32 f4 f Standard single-precision float float64 f8 d Standard double-precision float float128 f16 g Extended-precision float complex64 c8 Complex represented by two 32-bit floats complex128 c16 Complex represented by two 64-bit floats complex256 c32