Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
slater — 로컬 복제 그래프 사용 사례를 위해 설계된 저메모리 그래프 DB로, Bolt+TLS 지원, 저장 데이터 암호화 및 벡터를 제공합니다. | Kitploit
도구/GitHubGitHub/hikari-systems/slater
Authentication & AuthorizationEncryption/Decryption ToolsNetwork SecurityCloud SecurityUtilities & FrameworksDatabase Security
GitHubhikari-systems/slater

slater

로컬 복제 그래프 사용 사례를 위해 설계된 저메모리 그래프 DB로, Bolt+TLS 지원, 저장 데이터 암호화 및 벡터를 제공합니다.

저장소 보기
1002181개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Slater

CI Release

현재 버전: v0.25.2 — 모든 릴리스.

한 줄 요약: Slater는 메모리에 맞지 않는 그래프 — 수억 개의 노드와 수십억 개의 엣지를 수백 MB 남짓의 RAM으로 — 표준 Bolt 프로토콜로 서비스하므로 어떤 neo4j 드라이버든 그대로 동작하며, 그래프 옆에는 디스크 기반 벡터 검색이 자리 잡고, 이 모든 것을 포기하지 않으면서 실시간 내구성 있는 쓰기를 처리합니다. 상주 메모리는 그래프 크기가 아니라 사용자가 선택한 캐시 예산에 의해 결정됩니다.


바로가기

Slater가 필요한 이유읽기와 쓰기제공 기능기능
Docker로 실행하기작동 방식쓰기 가능 계층스토리지 백엔드
마운트구성ACL상태 확인
작업 예제개발성능라이선스
Graphiti 메모리 저장소📖 전체 매뉴얼

Slater가 필요한 이유

그래프 데이터베이스는 데이터를 사물(노드)과 사물 간의 관계(엣지)로 저장하며, 관계를 일급 시민으로 취급합니다. 이는 질문이 행이 아니라 연결에 관한 것일 때 필요한 것입니다. — "이 계정에서 세 홉 이내에 있는 사람은?", "이 빌드 뒤의 전체 의존성 체인은?", "어떤 계정이 장치, 주소, 카드를 공유하는가?" — SQL에서는 재귀 조인의 늪이 되지만 그래프에서는 자연스럽게 풀리는 질문들입니다.

그래프 데이터베이스에 대한 가장 흔한 불만은 RAM에 담을 수 있는 크기 이상으로 확장되지 않는다는 것입니다. 많은 제품(예: neo4j, Memgraph, FalkorDB 등)은 전체 그래프를 메모리에 상주시킵니다. 40 GB 그래프는 40 GB 메모리를 요구합니다 — 인스턴스당. 지역별, 테넌트별, 파드별로 복제본을 원하시나요? 비용이 배가됩니다. 그리고 특정 크기를 넘어서면 아예 로드되지 않습니다. 예를 들어 9천만 노드 / 15억 엣지 Wikidata 그래프는 ~64–128 GiB 상주 메모리가 필요하므로 인메모리 엔진은 전혀 열 수 없습니다.

Slater는 그에 대한 반박입니다. 그래프를 메모리에 로드하는 대신 오프라인에서 한 번 컴파일합니다. slater-build는 데이터를 콘텐츠 주소 지정 방식의 불변 온디스크 이미지로 변환하고, 원하는 수의 Slater 서버가 그 이미지를 Bolt 프로토콜로 서비스합니다(따라서 기존 neo4j 드라이버가 그대로 동작합니다). 블록을 요청 시 페이지인하고 고정된 캐시 예산만 상주시키는 방식입니다. 이것이 동일한 9천만 노드 그래프를 수백 MB의 RAM으로 서비스하는 이유입니다 — 그래프 크기와 메모리 비용이 분리됩니다. 4 GB 그래프와 400 GB 그래프를 서비스하는 데 필요한 RAM은 동일하므로, 저렴하고 상태 없는 읽기 복제본을 팬아웃하고 힙(heap)이 아닌 스토리지가 그래프를 보유하게 합니다.

따라서 RAG 뒤의 지식 그래프, 추천 및 신원 그래프, 의존성 그래프 — 저렴하고 자주 쿼리하고 싶은 크고 연결된 모든 것 — 에 자연스럽게 적합합니다. 디스크 기반 벡터 검색이 그래프 바로 옆에 있으므로, 같은 엔진이 임베딩의 검색 계층도 담당합니다.

하지만 한 번 컴파일한다고 해서 고정된 것은 아닙니다. 그 이미지는 **기본(base)**이지 최종 상태가 아닙니다. 옵트인 쓰기 계층이 그 위에 있으므로, 라이브 그래프를 재빌드 없이 수정하고 확장할 수 있습니다.

읽기와 쓰기

코어는 불변이지만 그래프는 불변이 아닙니다. 쓰기 가능 계층(delta.enabled)을 켜면 Bolt로 쓰기를 수행할 수 있습니다. — 속성 하나를 수정하고, 노드를 추가하고, 엣지를 철회하세요 — 이미지를 재빌드하지 않아도 변경 사항이 내구성 있게 저장됩니다. 읽기 측면에서 비용을 낮게 유지하는 비결은 쓰기가 어디에 저장되는가입니다.

쓰기는 불변 코어 위의 로그 구조 병합(LSM) 계층에 누적됩니다. 즉, 쓰기-어헤드 로그와 인메모리 테이블이 있고, 불변 델타 세그먼트로 넘쳐 흐르며, 주기적인 **통합(consolidation)**을 통해 새 코어로 접혀 들어갑니다. 이를 통해 얻는 이점은 다음과 같습니다.

  • 쓰지 않은 그래프에 대한 읽기는 이전과 정확히 같은 비용이 듭니다. 빈 델타는 병합이 아니라 예측 가능한 단일 분기입니다. 쓰기 가능 계층의 켜짐 여부와 관계없이 읽기 경로는 바이트 단위로 동일합니다.
  • 쓰기의 읽기 비용은 그래프 크기가 아니라 델타 크기에 비례합니다. 전체 그래프 답변 — count(*), 레이블 및 관계 유형 주변값(marginals) — 은 쓰기가 쌓여 있어도 메타데이터 읽기로 유지됩니다. 델타는 자체 카운터를 유지하므로, 50만 건의 대기 중인 쓰기가 있는 91.6M 노드 코어에 대한 count(*)는 블록 하나를 건드리지 않고도 수십 밀리초 안에 응답합니다.
  • 승인은 내구성을 의미합니다. 단일 작성자가 큐를 비우고 쓰기를 포괄하는 fsync 후에만 SUCCESS를 반환합니다. 쓰기를 그룹화하면 비용이 저렴합니다 — 쓰기-UNWIND는 행마다가 아니라 배치마다 하나의 fsync를 커밋합니다.
  • 비즈니스 키 쓰기, 두 방언 모두. 노드의 식별 속성으로 키가 지정된 MERGE / MATCH … SET / DELETE (및 CREATE / REMOVE, 분리 삭제, 관계 쓰기) — 또는 동일한 경로로 내려가는 ISO GQL 데이터 수정 문(INSERT / SET / REMOVE / DELETE). 데이터가 이미 정리된 방식으로 노드와 엣지에 대해 수정, 삽입, 업서트, 철회를 수행합니다.

계층이 꺼진 상태(기본값)에서는 Slater가 순수한 불변 코어만 서비스하고 쓰기를 거부합니다. 전체 모델은 쓰기 가능 계층을 참조하세요.

이름에 대하여. Slater는 Archer (훌륭한 쇼)에 나오는 CIA 요원의 이름을 따서 지어졌습니다. 그 요원은 단 하나의 이름으로 불리기를 고집합니다 — "그냥… Slater" — 그리고 제가 가장 좋아하는 캐릭터 중 하나이기도 합니다. 자세한 내용은 캐릭터 위키 페이지를 참조하세요.

제공 기능

  • RAM은 그래프 크기가 아니라 캐시 예산으로 결정됩니다 — 원하는 만큼 많은 읽기 복제본을 팬아웃하세요. 그래프가 메모리에 맞을 필요가 전혀 없습니다.
  • 그래프를 위한 드롭인 솔루션 — Bolt를 사용하므로 표준 neo4j 드라이버(JS, Python, Go…)가 변경 없이 동작합니다. Cypher(그리고 ISO GQL의 일부, 읽기 및 쓰기)입니다. 새로 배울 것이 없습니다.
  • 실시간 내구성 쓰기 — 불변 코어 위의 옵트인 LSM 계층: 노드와 엣지에 대한 비즈니스 키 MERGE / SET / DELETE, 그룹 커밋 및 fsync 내구성, 통합을 통해 새 코어로 접힘. 읽기는 이에 대한 비용을 부담하지 않습니다.
  • 파일 교체로 배포 — 오프라인에서 새 콘텐츠 해시 *세대(generation)*를 빌드하고, current 포인터를 원자적으로 전환하면 서버가 이를 인식합니다. 모든 블록이 체크섬 처리되므로, 절반만 복사된 이미지는 서비스되지 않고 거부됩니다.
  • 벡터 검색 내장 — 디스크 기반 근사 최근접 이웃(cosine, L2 또는 dot KNN)이 그래프 바로 옆에 있습니다. RAG 파이프라인 뒤의 검색 계층으로 사용할 때, 임베딩은 제자리에서 쓰기 가능합니다 — 벡터를 추가하거나 변경하기 위해 오프라인 재빌드가 필요 없습니다.
  • 설계상 잠금 — 읽기 및 쓰기 권한이 독립적이며, 선택적 저장 시 암호화, TLS Bolt, argon2id 해시 ACL, 읽기 복제본을 위한 읽기 전용 컨테이너 rootfs를 제공합니다. 마스터 키를 구성하면 온디스크 이미지가 암호화될 뿐만 아니라 인증됩니다 — 매니페스트는 키가 있는 MAC을 포함하므로, 데이터 디렉터리에 쓰기 액세스 권한이 있지만 키가 없는 공격자는 서버가 수락할 매니페스트를 위조할 수 없습니다. 키가 없어도 콘텐츠 해시는 얻을 수 있으며, 이는 절반만 복사되거나 손상된 이미지를 잡아냅니다 — 단, 의도적인 위조는 잡아내지 못합니다. 어떤 구성이 무엇을 제공하는지.

기능

도구 다운로드