Zeta-Lite: A Concurrent, Branchable In-Browser SQL Database for Agentic Memory
Zeta-lite는 에이전트 메모리와 로컬 퍼스트 애플리케이션에 최적화된 기능 완비형 PostgreSQL 인터페이스를 제공하며, 중첩된 스냅샷 격리 트랜잭션과 쓰기 시 복사(copy-on-write) 방식의 데이터베이스 브랜칭을 가능하게 하는, WebAssembly 기반의 컴팩트하고 동시성을 지원하며 브랜칭 가능한 인브라우저 SQL 데이터베이스 엔진입니다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
수십 년 동안 인터넷은 단순한 규칙에 따라 작동했습니다. 당신의 데이터는 어딘가 다른 곳의 서버에 존재하며, 당신의 컴퓨터는 그것을 들여다보는 창문에 불과했습니다. 데이터를 검색, 정렬 또는 분석하고 싶다면 네트워크를 통해 요청을 보내고 답변이 돌아오기를 기다려야 했습니다. 이 모델은 애플리케이션이 더 많은 개인정보 보호와 인터넷 연결 없이도 작동할 수 있는 능력을 요구하기 시작하면서 변화했습니다. 데이터를 먼 클라우드가 아닌 사용자의 기기에 직접 보관하려는 아이디어가 우선순위가 되었습니다. 이러한 변화는 소프트웨어 엔지니어들에게 새로운 과제를 안겨주었습니다. 어떻게 하면 웹 브라우저 내부에서 완전히 실행되는 강력하고 구조화된 데이터 시스템을 구축할 수 있을 것인가 하는 점이었습니다. 브라우저는 안전하고 격리되도록 설계되어 있어, 보통 컴퓨터의 운영 체제에 깊숙이 접근해야 하는 복잡한 소프트웨어를 실행하기에는 어려운 환경입니다.
전통적인 해결책은 기존의 데이터베이스 시스템을 축소하거나, 고급 기능이 부족한 매우 단순한 도구를 사용하는 것이었습니다. 한 가지 대중적인 접근 방식은 거대한 데이터베이스 엔진을 가져와서 기능을 대폭 줄이고 브라우저가 이해할 수 있는 형식으로 변환하는 것이지만, 이는 종종 소프트웨어가 느리게 실행되거나 여러 작업을 동시에 처리하지 못하는 단일 작업 흐름(single line of work)으로 작동하게 만듭니다. 또 다른 접근 방식은 매우 가볍고 작지만 복잡한 검색을 수행하거나 서로 다른 정보 간의 복잡한 관계를 관리할 수 없는 아주 작은 엔진을 사용하는 것입니다. 질문은 여전히 남아 있었습니다. 브라우저에 들어갈 만큼 충분히 작으면서도, 즉각적으로 느껴질 만큼 빠르고, 동시에 복able한 겹치는 작업들을 처리할 수 있을 만큼 똑똑한 데이터베이스를 갖는 것이 가능한가 하는 문제였습니다.
한 연구자가 이제 이 질문에 대해 확고한 '예'라는 답변을 주는 'Zeta-lite'라는 시스템을 구축했습니다. 그들은 압축 시 단 2.87메가바이트에 불정하는, 웹 브라우저 내부에 완전히 존재하는 데이터베이스 엔진을 만들었습니다. 이 작은 크기에도 불구하고, 이 시스템은 복잡한 검색을 수행하고, 동시에 작업하는 여러 사용자를 관리하며, 심지어 원래의 데이터를 위험에 빠뜨리지 않고 새로운 아이디어를 테스트하기 위해 스스로의 복사본을 만들 수도 있습니다. 이 시스템은 브라우저에서 실행되는 인공지능 에이전트를 위해 특별히 설계되었으며, 이 에이전트들은 자신의 생각, 기억, 발견을 저장할 장소가 필요합니다. 연구자는 데이터베이스가 역사를 기억하는 방식을 변경함으로써, 이토록 작은 프로그램에서는 불가능하다고 여겨졌던 수준의 성능과 유연성을 달로할 수 있다는 것을 발견했습니다.
그들의 발견의 핵심은 데이터베이스가 시간을 다루는 방식에 있습니다. 대부분의 전통적인 데이터베이스는 앞차의 작업이 끝날 때까지 차들이 기다려야 하는 단선 도로처럼 작동합니다. 두 사람이 동시에 같은 정보를 업데이트하려고 하면, 한 명은 기다려야 합니다. Zeta-lite는 다르게 작동합니다. 단일 차선 대신, 모든 데이터 조각이 버전의 역사를 가지고 있다고 취급합니다. 작업이 시작되면, 시스템은 그 정확한 순간의 데이터 스냅샷을 찍습니다. 그러면 시스템은 다른 작업들이 동시에 진행되는 동안에도 자신만의 '진실의 버전'을 가지고 작업할 수 있습니다. 만약 두 작업이 동일한 것을 변경하려고 시도하면, 시스템은 충돌을 감지하고 하나를 중단시키지만, 그들을 줄 세워 기다리게 하지는 않습니다. 이를 통해 Zeta-lite는 보통 복잡하고 무거운 하드웨어나 대부분의 웹사이트가 사용할 수 없는 특수한 브라우저 설정이 필요한, 단일 실행 스레드 상에서 여러 작업을 동시에 실행할 수 있게 합니다.
이러한 중첩 작업 처리 능력은 '브랜칭(branching)'이라 불리는 독특한 기능과 결합됩니다. 소프트웨어 개발 세계에서 브랜치를 만든다는 것은 원래의 것을 망가뜨리지 않고 새로운 아이디어를 작업하기 위해 프로젝트의 복사본을 만드는 것을 의미합니다. Zeta-lite는 이 개념을 데이터 자체에 직접 가져왔습니다. 애플리케이션은 전체 데이터베이스를 새로운 브랜치로 포크(fork)하여, 변경 사항을 적용하고 테스트한 다음, 그 변경 사항을 메인 데이터베이스에 병합할지 아니면 완전히 버릴지를 결정할 수 있습니다. 이는 데이터 간의 차이점만을 저장하기 때문에 거의 즉각적으로 일어나며 추가 저장 공간을 거의 사용하지 않습니다. 인공지능 에이전트에게 이것은 강력한 도구입니다. 에이전트는 가설을 탐구하거나, 새로운 계획을 시도하거나, 대화를 시뮬레이션한 다음, 실험이 실패하면 실험 내용을 단순히 지워버림으로써 원래의 기억을 완벽하게 보존할 수 있습니다.
연구자는 이 시스템이 단순히 이론적인 개념이 아니라 실제로 작동하는 현실임을 확인하기 위해 엄격하게 테스트했습니다. 그들은 이 데이터베이스를 가장 인기 있는 웹 브라우저인 크롬(Chrome)과 파이어폭스(Firefox)에서 실행하고, 표준 컴퓨터에서 실행되는 네이티브 버전과 속도를 비교했습니다. 그 결과, 브라우저 버전이 초당 수십만 건의 데이터 조회를 처리하며 네이티브 버전만큼이나 빠르다는 것을 발견했습니다. 여러 작업이 동시에 같은 데이터를 업데이트하려고 시도하는 테스트에서도, 시스템은 충돌 없이 성공적으로 문제를 관리했습니다. 또한, 시스템이 수백만 건의 작업을 처리하며 성장하더라도 데이터 손실이나 메모리 누수 없이 오랫동안 실행될 수 있음을 검증했습니다. 데이터베이스는 브라우저의 프라이빗 스토리지에 자신의 완전한 스냅샷을 저장함으로써 상태를 유지했으며, 이 과정은 대량의 데이터에 대해서도 1초 미만이 소요되었습니다.
이 성과가 특히 중요한 이유는 일반적인 시스템을 구동하는 복잡하고 무거운 인프라에 의존하지 않기 때문입니다. 유사한 기능을 제공하는 대부분의 브라우저 기반 데이터베이스는 웹사이트가 나머지 인터넷으로부터 자신을 격리하도록 강제하는 특수한 보안 헤더를 필요로 하며, 이는 사용 범위를 제한합니다. Zeta-lite는 이를 완전히 피합니다. 이 시스템은 웹사이트의 나머지 부분이 존재하는 브라우저의 메인 스레드에서 실행되며, 추가적인 보안 조치나 백그라운드 워커를 필요로 하지 않습니다. 즉, 사이트가 구축되거나 호스팅되는 방식을 변경하지 않고도 어떤 웹 애플리케이션에도 바로 적용할 수 있습니다. 이 시스템은 훨씬 더 큰 서버 데이터베이스와 동일한 코드베이스로 구축되었으며, 이는 고급 데이터 관리에 필요한 복잡한 로직이 강력함을 잃지 않으면서도 아주 작은 패키지로 압축될 수 있음을 증명합니다.
이 작업의 함의는 단순히 속도나 크기에 국한되지 않습니다. 이는 사용자의 기기에서 자신의 데이터를 로컬로 기억하고 추론할 수 있는 새로운 세대의 애플리케이션을 향한 문을 열어줍니다. 상상해 보십시오. 브라우저에 거주하며 당신의 개인적인 기록을 저장하고, 당신과의 상호작용으로부터 학습하며, 데이터를 원격 서버로 전혀 보내지 않고도 당신의 정보를 정리할 수 있는 AI 비서를 말입니다. 메모리를 브랜치할 수 있는 능력을 갖춘 이 비서는, 당신의 노트를 정리하거나 하루 계획을 세우는 다양한 방법을 시도해 보고, 그중 효과적인 결과만을 남길 수 있습니다. 연구자는 이미 이러한 정확한 기능들을 사용하여 에이전트를 위한 메모리 시스템을 만드는 'Zengram-lite'라는 동반 시스템을 구축하기 시작했습니다.
논문은 "작고 단순한 데이터베이스와 크고 강력한 데이터베이스 중 하나를 선택해야 한다"는 오래된 가정이 더 이상 사실이 아니라고 결론짓습니다. 데이터의 버전을 관리하고 작업을 관리하는 방식을 재고함으로써, 두 가지를 모두 가질 수 있습니다. Zeta-lite 엔진은 기능이 풍부하고, 동시성을 지원하며, 브랜칭이 가능한 데이터베이스가 웹 브라우저에 들어갈 수 있으며 네이티브 소프트웨어와 대등한 수준으로 성능을 낼 수 있음을 보여줍니다. 이것은 시뮬레이션이나 미래 기술에 대한 약속이 아닙니다. 이것은 오늘날 바로 사용할 수 있는 작동하는 시스템이며, 사용자 기기에서 프라이빗하고 빠르며 복잡한 추론이 가능한 애플리케이션을 만들고자 하는 개발자들을 위해 준비되어 있습니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.