데이터베이스 없이 객체 스토리지로 데이터베이스 만들기
Object storage is all you need

Ampbase의 창업자 JP가 Tigris 객체 스토리지를 데이터베이스처럼 사용한 경험을 공유한다. 관계형 데이터베이스 대신 객체 스토리지의 강한 읽기-쓰기 일관성과 조건부 쓰기를 기반으로 고유 제약, 트랜잭션, 인덱스, 히스토리 테이블을 직접 구현했다. ULID 키와 접두사 목록으로 정렬된 이력 관리를 공짜로 얻는 등 객체 스토리지의 예상 밖 장점도 드러낸다.
역사는 부주의한 UPDATE로 잃을 수 없다. UPDATE가 없기 때문이다.
HN 토론
14- dullcrisp
이 글은 왜 이런 걸 하는지에 대한 동기를 별로 제시하지 않는다.
내가 읽기에는 좀 이런 느낌이다. 우리가 책상 없이 사무실을 지은 방법: 의자 두 개를 겹쳐 놓으면 그 위에 노트북을 올려 균형을 잡을 수 있고, 아래에는 물건을 놓을 선반도 생긴다는 걸 알게 됐다.
- arpinum
읽기 답답하다. Tigres는 FoundationDB 위에 구축됐지만, 트랜잭션, 범위 읽기, get mapped range 같은 모든 FoundationDB 연산을 노출하지 않는다. 이 문제들을 처리하려고 캐싱용 데이터베이스까지 포함해 온갖 복잡한 방법을 동원한다(그리고 thundering herd 문제는 고려하지 않는다).
그냥 FoundationDB를 실행하면 어떨까?
- ryanbrunner
이런 글을 보면 그 Innovation Tokens 글이 떠오른다.
개발자로서 너의 시간과 집중력은 소중하다. 고유 제약 조건, 트랜잭션, 인덱스, 히스토리를 직접 구현하는 게 가능하다는 건 확실히 안다. 하지만 그게 정말로 네 시간을 가장 가치 있게 쓰는 방법일까? 너만의 독특한 해결책이 필요할 가능성은 낮으니, 말 그대로 별 이득 없이 누군가 이미 만들어 둔 것을 다시 발명하는 셈이다.
네가 만들고 있는 것이 해결하려는 문제를 실제로 해결하는 데 시간을 쓰는 게 더 낫지 않을까?