14 Database

★Object-relational impedance mismatch

★Isolationについて

Dirty reads

※他サイト参照

★Partitioning

Vertical Partitioning

Split tables with many columns into multiple tables

limit number of columns per table

split large, infrequently used columns into a separate table

@Entity

public class Customer {

int userId;

String email;

String password;

@OneToOne(fetch = LAZY)

CustomerInfo info;

}

@Entity

public class CustomerInfo {

int userId;

String skills;

String interests;

@OneToOne(mappedBy = "CustomerInfo")

Customer customer;

}

Horizontal Partitioning (Sharding)

Split table with many rows into partitions by range, key

For example, a table that contains historical data being partitioned by date

Non-repeatable reads

Phantom reads

Isolation Levels vs Read Phenomena

※最高5点、MPP:Massive Parallel Processing