Sqlite 또는 MySql? 결정하는 방법? [닫은]


94

둘 중 어떤 것을 사용할지 결정하는 방법에 대한 좋은 경험 규칙이 있습니까?

그리고 Sqlite 데이터베이스를 인수하고 시스템이 "훨씬 커질"것으로 예상되는 경우,이를 유지하거나 MySql로 이동할 것인지 결정하는 방법은 무엇입니까?


1
FirebirdEmbedded를 고려해보십시오. 두 가지가 매우 강력하게 혼합되어 있습니다.
Stefan Steiger 2011 년

1
너무 광범위하게 종료하도록 투표했습니다. 중복 가능성이 삭제되었습니다 : stackoverflow.com/questions/3630/sqlite-vs-mysql
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功 2015

10
지금은 광범위하지만 게시되었을 때 그런 종류의 질문은 받아 들일 수 있거나 적어도 용인되었습니다. 다른 사람들이 토론과 권장 사항을 읽을 수 있도록 중복 가능성과 같이 질문이 삭제되지 않기를 바랍니다.
Mawg는 분석 재개 모니카 말한다

5
이 사이트의 "모니터"에 의해 영향력과 가시성이 높은 질문 (아래의 찬성 투표 수 참조)이 닫히게되어 유감입니다. 이는 전체 모니터링 프로세스를 만들고 모니터 선택을 매우 의심스럽게 만듭니다.
francogrex

2
사이트의 표준, 가치 및 목표는 수년에 걸쳐 변경되었습니다. "주요 의견 기반"은 더 이상 허용되지 않습니다. 오늘이 질문을하고 싶다면 여기가 아닌 softwarerecs.stackexchange.com 에서 질문 하고 데이터베이스에 대한 요구 사항을 나열하고 권장 사항을받습니다. 나는 내 질문이 왜 종결되었는지 이해하지만, 우리가 태그 를 가지고 있었고 제목의 "최고"라는 단어가 즉각적인 종결을 의미하지 않았을 때 아직도 향수를 불러
일으키고 있습니다

답변:


103

그들의 기능 세트는 전혀 동일하지 않습니다. Sqlite는 네트워크 기능이없는 내장 데이터베이스입니다 (추가하지 않는 한). 따라서 네트워크에서 사용할 수 없습니다.

필요한 경우

  • 네트워크 액세스-예를 들어 다른 컴퓨터에서 액세스;
  • 실제 수준의 동시성-예를 들어 한 번에 여러 쿼리를 실행하거나 많은 선택 항목과 몇 가지 업데이트가있는 워크로드를 실행하고 원활하게 진행되기를 원하는 경우 등.
  • 예를 들어, 32G 메모리에 1Tb 데이터베이스의 일부를 버퍼링하는 데 많은 메모리 사용.

mysql 또는 기타 서버 기반 RDBMS를 사용해야합니다.

MySQL이 유일한 선택은 아니며 새로운 애플리케이션 (예 : pgSQL)에 더 좋을 수있는 다른 것들이 많이 있습니다.

Sqlite는 매우 훌륭한 소프트웨어이지만 RDBMS 서버가 수행하는 이러한 작업을 수행한다고 주장한 적이 없습니다. 로컬 파일에서 SQL을 실행하는 작은 라이브러리입니다 (잠금을 사용하여 여러 프로세스가 파일을 망치지 않도록 보장). 정말 잘 테스트되었고 나는 그것을 많이 좋아합니다.

또한 스스로 올바르게 선택할 수없는 경우 팀에서 할 수있는 사람을 고용해야합니다.


따라서 기본적으로 sqllite는 ms 액세스 파일의 대안입니다.
dvdmn

2
이 세 가지 요점은 정확히 Richard Hipp이 말하는 내용입니다. youtu.be/Jib2AmRb_rk?t=1693
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

단순화를 위해 MySql 데이터베이스를 사용하는 네트워크 앱의 경우에도 데이터베이스에 액세스 할 수있는 유일한 사용자 인 단일 소프트웨어를 항상 가지고 있습니다.
Mawg는 분석 재개 모니카 말한다

57

sqlite 팀 은 읽기 좋은 sqlite언제 사용해야하는지 설명하는 기사를 게시했습니다 . 기본적으로 쓰기 동시성이 많거나 테라 바이트의 데이터로 확장해야하는 경우 sqlite를 사용하지 않으려 고합니다. 다른 많은 경우에 sqlite는 MySQL과 같은 "전통적인"데이터베이스에 대한 놀랍도록 좋은 대안입니다.


11

즉시 사용 가능한 SQLite는 동시성에 관한 기능이 충분하지 않습니다. 동일한 SQLite 데이터베이스에 도달하는 수백 개의 웹 요청이 있으면 문제가 발생합니다.

확실히 MySQL 또는 PostgreSQL을 사용해야합니다.

1 인 프로젝트의 경우 SQLite를 설정하는 것이 더 쉬울 것입니다.


단순함을 위해, MySql 데이터베이스를 사용하는 네트워크 앱의 경우에도 데이터베이스에 액세스 할 수있는 유일한 사용자 인 단일 소프트웨어를 항상 가지고 있지만, 특히 Sqlite의 경우에는 더욱 그렇습니다.
Mawg는 분석 재개 모니카 말한다

10

이전의 우수한 답변에 대한 나의 몇 센트. www.sqlite.org 사이트는 sqlite 데이터베이스에서 작동합니다. 여기입니다 링크는 저자 (리처드는 Hipp)이 비슷한 질문에 응답 할 때.


1
링크 주셔서 감사합니다. 동일한 저자 는 Athlon 1600에서 테스트 한 자체 워크 벤치 를 계속 사용 합니다 . 1GB RAM. 5400RPM IDE 디스크. Redhat 7.3. 그는 다음과 같이 결론을 내립니다.«이제 SQLite가 하루에 최대 1 백만 건의 조회수를 기록하는 웹 사이트의 기본 데이터베이스로 사용하기에 적합하다고 생각합니다.»
Rutrus
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.