▲GN⁺ 2024-12-17 | parent | ★ favorite | on: 더 빠른 SQLite를 찾아서(avi.im)Hacker News 의견 서버리스 컴퓨팅의 특정 사용 사례, 예를 들어 AWS Lambda와 중앙 데이터베이스가 서버리스 방식으로 구성된 앱과 항상 잘 맞지 않는다는 점에 대한 논의가 있음 6-7년 전 복잡한 계층적 파일을 처리하고 특정 정보를 추출해야 했던 문제를 해결하기 위해 작업한 경험이 있음 FaaS는 계산적으로 비싼 작업에 비싸며, 큰 XML 파일을 로드하고 매번 파싱하는 것은 비효율적이었음 해결책으로 타이머로 파일을 읽고 파싱하여 SQLite 데이터베이스에 로드하고 인덱싱한 후 S3에 파일을 저장하는 중앙 기능을 사용했음 Lambda 함수는 S3에서 파일을 다운로드하여 로컬 복사본보다 최신이거나 콜드 스타트 시 조회를 수행했음 Lambda에는 로컬 /tmp 디렉토리가 있으며 Python 런타임에 SQLite가 포함되어 있어 함수 외에 코드를 업로드할 필요가 없음을 알게 되었음 이러한 솔루션이 더 빨라질 수 있는 작업이 진행 중인 것에 대해 흥미로움을 느낌 두 명의 연구자 중 한 명이 저자의 상사라는 점을 명시할 가치가 있을 수 있음 저자와 연구자가 관련이 없다고 잘못 생각했음 "p999 이상에서만 이점이 눈에 띄며, p90과 p99에서는 성능이 SQLite와 거의 동일함"이라는 점에 동의함 SQLite와 최적화를 좋아하지만 이 점은 사실임 SQLite는 광범위한 테스트 스위트를 가지고 있어 철저히 테스트됨 리라이트가 유사한 테스트를 받을 것인지, 특히 io_uring과 같은 빠르지만 작성하기 어렵고 잠재적으로 버그가 있는 기능을 사용하는 경우에 대해 의문이 있음 벤치마킹을 위해 각 테넌트가 자체 임베디드 데이터베이스를 갖는 멀티 테넌트 서버리스 런타임을 시뮬레이션함 SQLite는 테넌트당 자체 스레드를 가지며 각 스레드에서 쿼리를 실행하여 측정함 서버리스 SQLite 설정이 요청당 SQLite 프로세스를 사용할 것인지에 대한 의문이 있음 이전에 Postgres에 비동기 io를 도입하려는 시도가 있었으나 중단됨 최근 제안은 코드베이스를 포크하지 않고도 스토리지 관리자를 사용자 정의로 교체할 수 있게 하는 것임 새로운 제안에 많은 관심이 있으며, 스토리지와 컴퓨팅을 분리하는 움직임과 관련이 있음 비동기 io가 작동 중일 때 다른 작업을 수행할 수 있다는 아이디어에 대한 질문이 있음 데이터베이스 작업 시 트랜잭션 완료를 기다려야 하는지에 대한 의문이 있음 블로그 게시물의 저자로서 이 글이 첫 페이지에 올라온 것을 예상하지 못했음 Turso에서 일하며, 논문은 2024년 4월에 발표되었고 이후 많은 개선이 이루어졌음 SQLite는 오픈 소스이지만 중요한 테스트 하네스는 아님 대안이 호환성을 어떻게 보장할 것인지에 대한 질문이 있음 SQLite 파일 형식의 엄격한 하위 집합으로 JSON 유사 형식을 만드는 간단한 경로를 찾으려 했으나 실패함 파일 형식의 임의성이 많아 흥미를 잃었으나, 다른 사람이 성공할 수 있을 것임
Hacker News 의견
서버리스 컴퓨팅의 특정 사용 사례, 예를 들어 AWS Lambda와 중앙 데이터베이스가 서버리스 방식으로 구성된 앱과 항상 잘 맞지 않는다는 점에 대한 논의가 있음
/tmp디렉토리가 있으며 Python 런타임에 SQLite가 포함되어 있어 함수 외에 코드를 업로드할 필요가 없음을 알게 되었음두 명의 연구자 중 한 명이 저자의 상사라는 점을 명시할 가치가 있을 수 있음
"p999 이상에서만 이점이 눈에 띄며, p90과 p99에서는 성능이 SQLite와 거의 동일함"이라는 점에 동의함
SQLite는 광범위한 테스트 스위트를 가지고 있어 철저히 테스트됨
벤치마킹을 위해 각 테넌트가 자체 임베디드 데이터베이스를 갖는 멀티 테넌트 서버리스 런타임을 시뮬레이션함
이전에 Postgres에 비동기 io를 도입하려는 시도가 있었으나 중단됨
비동기 io가 작동 중일 때 다른 작업을 수행할 수 있다는 아이디어에 대한 질문이 있음
블로그 게시물의 저자로서 이 글이 첫 페이지에 올라온 것을 예상하지 못했음
SQLite는 오픈 소스이지만 중요한 테스트 하네스는 아님
SQLite 파일 형식의 엄격한 하위 집합으로 JSON 유사 형식을 만드는 간단한 경로를 찾으려 했으나 실패함