Skip to main content
공개 노트

Datasette 1.0a31: 읽기 도구에서 조심스러운 쓰기 도구로

Views 9약 3분생성형 AI 활용
Summary

Datasette 1.0a31: 읽기 도구에서 조심스러운 쓰기 도구로

Datasette는 SQLite 데이터베이스를 웹에서 탐색하고 공개할 수 있게 해주는 오픈소스 도구입니다.1 그동안의 강점이 데이터를 쉽게 보고, 쿼리하고, 공유하는 데 있었다면, Datasette 1.0a31은 여기에 권한 기반의 쓰기 작업을 더합니다.

1.0a31은 알파 릴리스입니다. 따라서 안정판처럼 전제하기보다는, Datasette가 어디로 확장되고 있는지 보여주는 신호로 보는 편이 적절합니다. 핵심 변화는 두 가지입니다. 권한 있는 사용자가 웹 UI에서 쓰기 SQL을 실행할 수 있게 되었고, 기존 “canned queries”는 “stored queries”로 이름과 역할이 정리되었습니다.23

쓰기 SQL: 웹 UI에서 수정하되, 권한으로 제한한다

Datasette 1.0a31의 가장 큰 변화는 새 쓰기 SQL 인터페이스입니다. execute-write-sql 권한이 있는 사용자는 데이터베이스 작업 메뉴에서 Execute write SQL 액션을 열 수 있습니다.3

이 페이지에서는 두 가지 방식으로 작업할 수 있습니다. SQL을 직접 입력하거나, Datasette가 제공하는 템플릿을 선택하는 방식입니다. 템플릿은 INSERT, UPDATE, DELETE 쿼리를 제공하며, 어떤 템플릿이 보이는지는 사용자의 테이블별 권한에 따라 달라집니다. 예를 들어 특정 테이블에 insert-row, update-row, delete-row 권한이 있어야 그에 맞는 작업 템플릿을 사용할 수 있습니다.3

여기서 중요한 점은 쓰기 기능이 단순히 “SQL 입력창을 열어주는 것”이 아니라는 점입니다. Datasette는 실행 전에 SQL 쿼리를 분석해 어떤 테이블이 수정되는지 확인하고, 사용자가 해당 작업에 필요한 권한을 갖고 있는지 검사합니다. 이 권한 검사는 행 삽입·수정·삭제뿐 아니라 create-table, alter-table 같은 스키마 변경 작업에도 적용됩니다.3

즉, Datasette 1.0a31의 쓰기 SQL은 편의 기능이면서 동시에 통제 기능입니다. 웹에서 DB를 수정할 수 있게 하되, 누가 어떤 테이블에 어떤 변경을 할 수 있는지를 권한 체계 안에서 다루려는 접근입니다.

Stored queries: 반복 작업을 저장하고 공유한다

두 번째 변화는 쿼리 저장 기능의 재정의입니다. 기존 “canned queries”는 “stored queries”로 이름이 바뀌었습니다. 단순한 용어 변경을 넘어, 읽기 쿼리와 쓰기 쿼리를 저장하고 재사용하는 기능으로 이해하는 편이 자연스럽습니다.3

필요한 권한이 있는 사용자는 저장된 쿼리를 비공개로 보관하거나, 같은 Datasette 인스턴스의 다른 사용자와 공유할 수 있습니다. 반복적으로 실행하는 조회, 정해진 방식의 데이터 정리, 특정 테이블에 대한 표준화된 수정 작업처럼 매번 SQL을 다시 작성하기 번거로운 경우에 유용합니다.

다만 저장된 쿼리를 안정적으로 사용하려면 Datasette를 내부 SQLite 데이터베이스 경로와 함께 실행해야 합니다. 저장된 쿼리는 Datasette의 내부 queries 테이블에 보관됩니다.3

도입할 때는 “누가 무엇을 바꿀 수 있는가”부터 정해야 한다

Datasette 1.0a31의 새 기능은 작은 팀이나 내부 운영 도구에서 특히 실용적입니다. 운영자가 매번 데이터베이스에 직접 접속하지 않아도, 권한을 받은 사용자가 웹 UI에서 제한된 수정 작업을 수행할 수 있기 때문입니다.

하지만 쓰기 기능은 읽기 기능과 성격이 다릅니다. execute-write-sql 권한만 부여하면 끝나는 문제가 아니라, 테이블별 insert-row, update-row, delete-row 권한과 스키마 변경 가능성까지 함께 설계해야 합니다. 공개 데이터 포털처럼 읽기 중심으로 운영되는 환경이라면 특히 신중하게 켜야 합니다.

Datasette 1.0a31의 의미는 “누구나 웹에서 데이터베이스를 수정하게 하자”가 아닙니다. 더 정확히는, Datasette가 읽기 중심 데이터 브라우저에서 권한을 전제로 한 내부 데이터 작업 도구로 확장되고 있다는 점입니다. 쓰기 SQL과 stored queries는 그 방향을 보여주는 초기 신호입니다.

1GitHub - simonw/datasette

2Releases · simonw/datasette

3SQL write queries and stored queries in Datasette 1.0a31

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기