01> 어떻게 출시했는가
// 과제01
AI 네이티브 LMS는 서로 아무것도 공유하지 않는 기관에 팔려야 했습니다. 한 테넌트가 다른 테넌트의 수강생을 보는 순간 계약은 끝나고, 그러면서도 아무도 한 장씩 넘기고 싶지 않은 강의 라이브러리를 즉각적으로 느끼게 해야 했습니다.
// 접근 방식02
격리는 애플리케이션 코드가 아니라 데이터베이스에 둡니다. 테넌트별 행 수준 보안을 적용한 Postgres 16, 의미 기반 검색을 위한 pgvector, 키워드 속도를 위한 Meilisearch, 그리고 비동기 FastAPI 뒤에서 자료를 적재하는 arq 워커.
// 성과03
테넌트는 하나의 데이터베이스를 공유하면서도 API가 틀려도 남의 행에 닿을 수 없습니다. 강의 자료는 업로드가 끝나는 순간부터 표현으로도, 의도로도 검색됩니다.
case --info blitzlearning
> 클라이언트 · Blitzlearning
> 분야 · 에듀테크
> 스택 · FastAPI · PostgreSQL · pgvector · Meilisearch · Redis
> 결과 · 멀티테넌트 · RLS 강제 · 운영 중
> case/blitzlearning출시 완료 ▮
이런 시스템이 필요하십니까?
무엇을 만들고 계신지 알려 주십시오. 영업 제안이 아니라 범위가 정리된 계획으로 답하겠습니다.