Realm: 초고속 데이터베이스

Post on 16-Apr-2017

2.641 views 1 download

Transcript of Realm: 초고속 데이터베이스

렘 (Realm) 초고속 모바일 데이터베이스Leonardo YongUk Kim lk@realm.io

모두가 그분을 싫어합니다.

String query = "SELECT " + Owner.NAME + ", " + Dog.NAME + ", " + City.NAME

+ " FROM " + Owner.TABLE_NAME + " INNER JOIN " + Dog.TABLE_NAME + " ON " +

Owner.DOG_ID + " = " + Dog.ID + " INNER JOIN " + City.TABLE_NAME + " ON " +

Owner.CITY_ID + " = " + City.ID + " WHERE " + Owner.NAME = "'" + escape(queryName) + "'";

ActiveRecord

Ollie

Androm

BlurbCupboard

DBFlowDBQuery

DBTools

EasyliteOrm

GreenDAO

Orman

OrmLite

Persistence RushORM

Shillelagh

Sprinkles

SquiDB

SugarORM

누가 쓰나요? (설마 우리만..)

초고속 모바일 데이터베이스

왜 빨라요?

Zero-copy object store

전통적인 자료구조

컬럼 기반의 자료구조

컬럼 기반의 자료구조

• 패딩이 필요없다. • 한 컬럼 단위의 질의에 캐쉬가 넘치지 않는다.

또 무엇을 하나요?

• boolean 형 자료는 8개씩 묶어서 저장합니다. • 데이터를 0, 1, 2, 4, 8, 16, 32, 64비트로 묶습니다.

여러 시도를 통해 SQLite 대비 최대 50% 정도의 공간 효율 확보.

데이터 질의에서 캐쉬 적중률 향상.

어떻게 쓰나요?

마이그레이션

Version 0.83 (Nullable)

Nullable

non-Nullable

Version 0.84 (Async)

Q&A kr@realm.io