GN⁺ 2023-12-02 | parent | ★ favorite | on: 데이터베이스 구축 중단(sqlsync.dev)
Hacker News 의견
  • 프로젝트 창작자인 친구에 대한 이해

    • SQLsync는 프론트엔드 개발자들이 브라우저 내에서 원격 데이터베이스를 질의하고 업데이트할 수 있게 해주는 도구임.
    • WASM의 힘을 이용해 SQLite 데이터베이스를 브라우저로 전송하는 방식으로 작동함.
    • 여러 클라이언트 간의 동기화를 위해 반응형 알고리즘을 사용함.
    • 개발자들의 데이터 동기화 작업을 혁신적으로 해결하는 접근법임.
  • 과거 회사의 프로젝트 관리 소프트웨어 경험

    • 체크인/아웃 메커니즘을 사용해 데이터를 동기화했으나, 실시간 업데이트 앱이 등장하면서 구식으로 여겨짐.
    • SPA 웹 앱을 10년간 구축한 경험에서, 이러한 데이터 동기화 메커니즘이 시대를 앞서간 것으로 느껴짐.
  • SPA를 버리면 사라지는 문제

    • Hotwire나 htmx와 같은 솔루션을 사용하면 서버 쿼리가 단순화되고, 이를 빠르게 만드는 문제가 더 잘 이해됨.
  • SQLSync 창작자의 의견

    • 많은 질문에 답변하고, 놓친 질문을 주기적으로 확인할 예정임.
    • SQLSync를 만든 동기에 초점을 맞춘 첫 게시물에 대한 토론이 기쁨.
    • 다음 게시물에서 SQLSync의 작동 방식에 대해 설명할 예정임.
  • 사용자에게 현실과 다른 정신 모델을 주지 말 것

    • 데이터베이스 동기화는 클라이언트-서버 모델보다 복잡할 수 있음.
    • 빠른 UI가 필요할 때 CRDT 기본 요소를 사용하는 것이 더 안전하다고 느낌.
  • 측정 가능한 것이 관리되는 원칙과 침몰 비용의 오류

    • 데이터베이스의 복잡성이 문제임.
    • SQL의 문법이 문제이며, 기본적인 관계형 데이터베이스 사용이 즐거운 경험이라면, 자체 데이터베이스를 만드는 대신 DB를 사용할 유혹이 커질 것임.
    • 좋은 데이터베이스는 SQL을 사용하며, 효율성을 위해서는 데이터베이스 언어를 사용해야 함.
  • 클라이언트와 서버 간 상태 동기화의 문제

    • PHP/SSR 모델로 돌아가면 UX 희생을 통해 문제를 우회할 수 있음.
    • SPA는 좋지만, 멀티파트 폼 게시도 여전히 작동함.
    • 모든 상태를 서버에 두고 클라이언트를 단순한 터미널로 취급하는 것이 개발 경험을 향상시킴.
  • ORM 라이브러리와의 비교

    • 브라우저에서 지원하는 TypeORM과 SQL.js를 직접 사용하는 것과 SQLsync를 비교하는 질문.
  • 프론트엔드와 백엔드 데이터베이스의 차이

    • 프론트엔드 데이터베이스는 백엔드와 다를 수 있으며, 클라이언트에서 실시간 상태를 더 잘 관리할 필요가 있음.
    • react query와 웹소켓을 사용하여 캐시 무효화를 고려 중임.
    • SQLsync 아이디어도 고려할 가치가 있음.
  • SignalDB를 통한 유사한 시도

    • SignalDB는 신호를 이용한 반응성과 프레임워크에 구애받지 않는 mongodb와 유사한 쿼리 구문을 사용함.