개발자

Git 으로 데이터베이스 (SQLite) 를 관리해도 되나요 ?

2023년 04월 25일조회 142

현재 node.js 로 파일을 처리하는 스크립트 프로그램을 만들고 있습니다. 일부 문자 패턴을 찾아서 예외 처리 하는 로직을 추가하려고 하는데 패턴을 저장하는 방법에 대해서 고민중입니다. SQLite 로 저장해서 데이터 소스를 git 으로 커밋하는 방법을 사용해도 괜찮을까요 ? 이렇게 사용해서 발생하는 문제는 없는지, 다른 좋은 방법은 없는지 궁금합니다.

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 3

유택범님의 프로필 사진

패턴의 내용을 깃에 저장하는 것 자체에는 문제가 없을 것 같습니다. 하지만 질문자님 말씀을 들어보았을 때 패턴만 저장하시는 것으로 이해했는데 SQLite까지 써야 하는지가 궁금하네요! 단순히 파일로 저장해 사용할 때와 SQLite를 사용할 때를 비교한다면 질문자님께서 생각하시는 SQLite 사용의 장점이 어떤게 있을까요?

profile picture

익명

작성자

2023년 04월 26일

파일로 사용하는 방법도 고려했는데 다음 이유 때문에 SQLite 를 활용하려고 했어요. 첫번째는 IO 를 직접 구현하지 않고 이미 검증된 안정적인 솔루션을 활용하고 싶어서, 두번째는 파일을 직접적으로 수정하지 않게 하고 싶어서 입니다. 가까운 미래에 패턴 이외에 새로운 예외 처리 작업이 추가되고 저장할 가능성이 매우 높아서 IO 관련 작업을 최소화 시키고 싶었어요.

유택범님의 프로필 사진

유택범

Software Developer2023년 04월 26일

답변 감사드립니다! 더 좋은 방법이 뭐가 있을지 고민해보았는데, 제 지식으로는 딱히 좋은 아이디어가 더 떠오르진 않네요 ㅎㅎ 화이팅하세요!!

커리어리 AI 봇님의 프로필 사진

SQLite를 Git으로 관리하는 것은 기본적으로 가능합니다. Git은 모든 파일을 관리할 수 있으며, SQLite 파일도 예외는 아니지만, 주의할 점이 있습니다. 먼저, SQLite는 파일 단위로 데이터를 저장하며, 동시에 여러 클라이언트가 동시에 액세스하려고 할 때 데이터의 일관성을 보장하는 데 한계가 있습니다. 그러므로 SQLite 파일은 여러 명의 개발자가 함께 수정하는 대규모 프로젝트에서는 비추천합니다. 또한 SQLite 파일을 Git으로 관리하면 변경된 데이터가 코드 변경과 함께 저장소에 저장됩니다. 이 경우 데이터베이스 스키마 변경, 데이터 삭제 및 업데이트 등 데이터 변경 작업이 코드 변경에 묶이기 때문에 이러한 작업을 실행할 때마다 코드를 다시 커밋해야 합니다. 이는 관리하기 어려울 수 있으므로, 데이터를 별도의 파일로 유지하는 것이 좋습니다. 따라서 SQLite를 사용하려면 변경사항이 적은 개인 프로젝트에서 유용합니다. 또는 Git과 같은 버전 관리 도구를 사용하지 않는 프로젝트에서 SQLite를 사용하는 것도 가능합니다. 그러나 대규모 프로젝트에서는 데이터베이스 관리 시스템을 사용하거나 클라우드 데이터베이스를 고려하는 것이 좋습니다.

커리어리 AI 봇의 답변을 평가해 주세요!

커리어리 AI 봇님의 프로필 사진

SQLite를 Git으로 관리하는 것 자체는 문제가 되지 않습니다. 그러나 SQLite 데이터베이스 파일은 변경사항이 많은 경우 충돌이 발생할 가능성이 있습니다. 따라서 데이터베이스 파일을 Git으로 관리하면서 충돌을 피하기 위해 다음과 같은 방법을 고려해볼 수 있습니다. 1. 데이터베이스 파일 대신 데이터를 텍스트 파일로 저장하는 방법 SQLite 데이터베이스 파일 대신 데이터를 텍스트 파일로 저장하는 방법이 있습니다. 이 방법은 데이터를 텍스트 파일로 저장하고, Git으로 관리하는 것이 더 쉽습니다. 텍스트 파일은 변경사항이 쉽게 병합될 수 있으므로 충돌의 가능성이 낮아집니다. 그러나 대량의 데이터를 처리해야 할 경우 이 방법은 데이터 처리가 느려질 수 있습니다. 2. Git LFS 사용하기 Git Large File Storage (LFS)를 사용하면 대용량 파일을 Git으로 관리할 수 있습니다. Git LFS는 대용량 파일을 로컬 저장소가 아닌 원격 저장소에 저장하므로 충돌의 가능성이 줄어듭니다. 따라서 Git LFS를 사용하면 SQLite 데이터베이스 파일을 Git으로 관리하는 것이 더 안정적입니다. 3. 데이터베이스 마이그레이션 도구 사용하기 많은 경우 SQLite 데이터베이스 파일을 직접 Git으로 관리하지 않고, 데이터베이스 마이그레이션 도구를 사용하여 데이터베이스 스키마와 데이터를 다루는 것이 더 좋습니다. 데이터베이스 마이그레이션 도구는 데이터베이스의 스키마와 데이터를 버전별로 관리할 수 있으며, 변경사항을 Git으로 커밋할 수 있습니다. 이렇게 하면 데이터베이스 파일 자체를 Git으로 관리하지 않고도 데이터베이스를 관리할 수 있습니다. 따라서 SQLite 데이터베이스 파일을 Git으로 관리하는 것은 가능하지만, 충돌의 가능성을 최소화하고 안정적인 관리를 위해 다양한 방법을 고려해보는 것이 좋습니다.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!