MySQL vs. JSON-왜?
나는 작은 웹 앱 / 게임을 디자인하고 있습니다. 무엇이 더 좋을까요 : MySQL 테이블 또는 json 파일? 둘 다 정보를 저장합니다. 둘 다 PHP로 구문 분석 할 수 있습니다. 장점 / 단점은 무엇입니까?
이것이 내가 의미하는 바입니다.
username | password
-------------------
seefour | abc123
대
{
"username":"seefour",
"password":"abc123"
}
편집 : 와우, 내가이 질문을 한 지 불과 3 년이 지났 으며이 질문을 한 이후로 얼마나 성숙했는지 보는 것이 놀랍습니다. 미래의 나에서 과거의 나까지, 이것이 두 사람이 작동하지 않는 이유입니다. (당시 나처럼 순진한 사람이 언급 할 수 있다면)
그 당시에는 JSON 파일을 저장하고 사용하는 것이 더 쉬웠지만 둘 다 정보를 저장하는 거의 많은 방법 이었기 때문에 서로 교환 할 수 있다고 생각했습니다. 데이터베이스는 데이터를 훨씬 빠르게 검색하고 시간이 지남에 따라 팽창하지 않는 별도의 소프트웨어 조각입니다. 또한 모든 데이터를 하나 또는 두 개의 파일로 운반하면 데이터를 도난 당하거나 손실하는 일이 위험 할 정도로 쉽게 끝날 수 있습니다. 데이터베이스가 훨씬 더 안전하기 때문입니다. 기본적으로 데이터는 코드의 일부가되어서는 안됩니다. 코드와 함께 작동하는 별도의 것이어야합니다.
또한 몇 년 후에는 해싱 및 솔팅에 대해 배우게되므로 일반 텍스트로 암호를 저장하지 마십시오!
솔직히 말해서 MySQL은 데이터베이스이고 JSON은 그렇지 않으므로 정답은 MySQL입니다. JSON은 그저 언어 일 뿐이며 그조차도 거의 없습니다. JSON은 동시 연결이나 모든 종류의 데이터 조작과 같은 것을 처리하도록 설계되지 않았습니다. 자체 기능은 데이터를 관리하는 것이 아니라 표현 하는 것이기 때문입니다.
따라서 데이터 저장을 위해 MySQL을 사용하십시오. 그런 다음 일부 프로그래밍 언어를 사용하여 해당 데이터베이스를 읽고 실제로 JSON으로 저장하는 대신 해당 정보를 JSON으로 보내야합니다.
JSON 형식이든 다른 어떤 형식이든 데이터를 파일에 저장하면 데이터베이스가 동일한 용도로 사용되기 시작한 이후 사람들이 걱정하지 않는 모든 종류의 문제가 발생합니다. 크기 제한, 잠금, 이름을 지정하십시오. 한 명의 사용자가 있으면 충분하지만, 더 많은 사용자를 추가하는 순간 파일을 처리하기 위해 전체 데이터베이스 엔진을 작성하는 것으로 끝날 수있는 수많은 문제를 해결하기 시작합니다. 단순히 실제 데이터베이스를 사용할 수도 있습니다.
MySQL은 여러 가지 이유로 선호 될 것입니다. 그중에서도 웹 서버 프로세스가 파일 시스템에 대한 쓰기 액세스 권한을 갖지 않기를 원합니다 (로깅이 가능한 경우 제외). 이것이 악용되기 쉬운 방법이기 때문입니다.
또한 MySQL 팀은 복제, 데이터 동시 액세스, ACID 규정 준수 및 데이터 무결성과 같은 작업에 많은 엔지니어링 노력을 기울였습니다.
예를 들어 저장하는 데이터 구조에 필요한 새 필드를 추가한다고 상상해보십시오. JSON 파일에 저장하는 경우 각 파일을 열고 필드를 추가 한 다음 저장하는 프로세스가 있어야합니다. 이것을 필드에 대한 DEFAULT 값과 함께 ALTER TABLE 사용의 어려움과 비교하십시오. (조금 인위적인 예이지만 오래된 데이터를 처리하기 위해 코드베이스에 몇 개의 해킹을 남기고 싶습니까?)
2는 실제로 비교할 수 없습니다.
MySQL은 데이터를 데이터베이스에 저장하거나 실제로 데이터베이스입니다. JSON은 서버에서 클라이언트로 전달되는 형식으로 데이터를 저장합니다. Javascript / jquery는 JSON을 데이터 객체로 사용할 수 있지만 페이지 수명 동안 클라이언트 측에만 존재합니다.
따라서 데이터를 JSON (권장하지 않음)으로 저장하려면 데이터를 저장하기 위해 텍스트 파일로 저장해야 할 것입니다.
데이터를 데이터베이스에 저장해야합니다. 함수를 사용하여 JSON 형식으로 변환 한 다음 웹 페이지에 전달하여 javascript가 소비하고 사용자에게 제공합니다.
참조 URL : https://stackoverflow.com/questions/7985145/mysql-vs-json-why
'programing' 카테고리의 다른 글
던지지 않도록 IDisposable.Dispose ()를 구현해야합니까? (0) | 2021.01.15 |
---|---|
constexpr은 람다 함수 / 식에서 지원됩니까? (0) | 2021.01.15 |
"from __future__ import braces"코드는 어디에 있습니까? (0) | 2021.01.15 |
깊이 1로 특정 커밋을 얕은 복제하는 방법은 무엇입니까? (0) | 2021.01.15 |
requestAnimationFrame이 setInterval 또는 setTimeout보다 나은 이유 (0) | 2021.01.15 |