문제

데이터베이스에 의존 할 수있는 앱을 만들고 앱을 만들고 있으며, 플랫 파일 DB를 사용하려는 의도가 있습니다. 이로부터 멀리해야 할 심각한 이유가 있습니까?

나는 Mimesis를 사용하고 있습니다 (http://mimesis.110mb.com) MySQL을 사용하는 것보다 간단합니다. 경험이 거의 없다는 것을 인정해야합니다. DB의 보안에 대해 궁금합니다. 그러나 파일은 PHP로 저장되며 견고한 데이터베이스 솔루션 인 것 같습니다.

나는 MySQL에서 더 어려운 데이터베이스를 백업하고 전송하는 것이 정말 마음에 듭니다. 나는 모든 사람들이 MySQL 방식을 선호하는 것 같다는 것을 알았습니다. 그리고 쿼리에있어서 더 빠를 것입니다. 그러나 그 외에는 플랫 파일 DBS에서 멀리 떨어져 있고 (마지막으로) MySQL을 제대로 배울 이유가 있습니까?


편집하다사람들에게 알리기 위해 MySQL과 함께 가고 CodeIgniter 프레임 워크를 사용하고 있습니다. 여전히 플랫 파일 DB와 비슷하지만 이제는이 프로젝트에 필요한 것보다 더 복잡하다는 것을 깨달았습니다.

도움이 되었습니까?

해결책

평평한 파일 구조 만 필요하면 대답은 "미세"입니다. 하나의 테스트 : 단일 간단한 스프레드 시트가 모든 요구를 처리할까요? 그렇지 않은 경우 플랫 파일이 아닌 관계 구조가 필요합니다.

확실하지 않으면 아마도 flat 파일을 시작할 수 있습니다. SQLITE는 시작하기위한 훌륭한 앱입니다.

과정에서 너무 멀리 알아 내면 잘못 선택했다는 것을 배우는 것은 좋지 않습니다. 그러나 관계 구조의 중요성을 이해하고 필요한 경우 일찍 크기를 조정한다면 괜찮습니다.

다른 팁

사용 sqlite, SQL 기능이 많은 데이터베이스를 얻지 만 단일 파일 일뿐입니다.

인사, 나는 Mimesis의 창조자입니다. 관계형 데이터베이스 및 SQL은 처리 해야하는 대량의 데이터가있는 상황에서 중요합니다. 플랫 파일이 관계 데이터베이스보다 우수합니까? 글쎄, 전체 아카이빙 시스템이 평평한 파일과 지구상에서 가장 인기있는 검색 엔진으로 작동하기 때문에 Google에게 물어볼 수 있습니다. Mimesis는 시스템과 비교됩니까? 아마도.

Mimesis는 특정 틈새 문제를 해결하기 위해 만들어졌습니다. 온라인 노력에만 무료 웹 사이트를 사용합니다. 많은 무료 사이트는 PHP를 사용할 수있는 기능을 제공합니다. 그러나 무료 SQL 데이터베이스 액세스를 제공하지 않습니다. 따라서 데이터를 저장하고 잠금을 구현하며 파일 권한을 해결하는 데이터베이스를 만들어야했습니다. 이것들은 Mimesis의 주요 설계 매개 변수였으며, 그 모든 것에 성공합니다.

Mimesis의 속도에 대한 아이디어가 필요한 경우 첫 페이지로 이동하면 사이트를보고있는 국가를 알려줍니다. 이 무료 데이터베이스는 사이트 IP2Nation.com 사이트에서 가져와 Mimesis FFDB로 포팅됩니다. 수천 개의 출품작이 아니라면 수백이 있습니다.

또한 메인 페이지의 히트 카운터는 이미 7000 명 이상의 방문자를 추적했습니다. 이는 독특한 방문이므로 스크립트가 데이터베이스를 검색하여 방문하는 IP 주소가 이미 존재하는지 확인하고 총 IPS 수를 수행해야합니다.

메인 페이지가 매우 빠르게로드되고 백엔드에서 상당히 집중적 인 Mimesis 데이터베이스 스크립트가 실행되는 것을 발견하면 백엔드에서 실행됩니다. Mimesis Stores 데이터를 저장하는 방식은 읽기 및 쓰기 절차를 속도를 높이고 번역 절차를 진행합니다. 대부분의 FFDB 예제 스크립트 또는 기타 FFDB 스크립트는 간단한 CVS 파일 또는 다른 일부 구조를 사용하여 데이터를 저장합니다. Mimesis는 실제로 이진 데이터를 일부 레벨로 해석하여 기능을 강화합니다. Mimesis는 플랫 파일 데이터베이스와 관계형 데이터베이스 사이의 하이브리드입니다.

대부분의 다른 FFDB 스크립트에는 업데이트가 완료 될 때마다 전체 파일을 다시 작성하는 것이 포함됩니다. Mimesis는이 작업을 수행하지 않으며 구조 파일 만 다시 작성하고 실제 행 내용을 업데이트합니다. 따라서 오류가 발생하더라도 이전 데이터가 아니라 추가 된 새 데이터 만 손실됩니다. Mimesis는 또한 역사를 유지합니다. 테이블이 새로 고침되지 않으면 이전에 행이 포함 된 데이터가 여전히 포함되어 있습니다.

나는 모든 기능에 대해 계속 진행할 수 있지만, 이것은 "Mimesis가 가장 큰 데이터베이스"라는 이름으로 의도 된 것은 아닙니다. Moreso는 SQL이 사용 가능한 유일한 기술이 아니라는 사실에 사람들의 시선을 열기위한 Moreso와 적절한 개발 패러다임이 주어지면 평평한 파일이 관계형 데이터베이스보다 우수하며, 더 전문적이라는 점을 고려했습니다.

긴 라이브 플랫 파일과 다음 두통을 용감하게하는 코더.

나는 MySQL에서 더 어려운 데이터베이스를 백업하고 전송하는 것이 정말 마음에 듭니다.

사용 sqlite 다른 대답에서 언급했듯이. 백업 할 파일이 하나뿐입니다. 또는 MySQL 데이터베이스의주기적인 덤프를 SQL 파일로 설정합니다. 이것은 비교적 간단한 일입니다.

나는 모두가 MySQL 방식을 선호하는 것 같다.

속도는 확실히 고려 사항입니다. 데이터가 더 잘 구성되기 때문에 데이터베이스는 훨씬 빠른 경향이 있습니다.

그 외에는 플랫 파일 DBS에서 멀리 떨어져 있고 (마지막으로) MySQL을 제대로 배우는 이유가 있습니까?

데이터베이스 솔루션을 사용해야 할 많은 이유가 있지만 평평한 파일에 대한 인수가 있습니다. "일반적으로"사용하는 것 이외의 것을 배우는 것이 항상 좋습니다. 대부분의 결정은 응용 프로그램에 따라 다릅니다. 동시 사용자는 몇 명입니까? 거래 지원이 필요합니까?

Mimesis가 원래 URL에서 http://mimesis.site11.com/

또한 Mimesis의 초점을 FFDB에서 키 가치 저장소로 전환하고 있습니다. 내가 저장하는 정보 유형과 그것을 검색하는 데 사용하는 방법을 감안할 때 더 합리적입니다. Mimesis 코딩에는 중대한 오류가있었습니다 (이후 고정). 그러나 나는 여전히 새로운 키 값 저장소 유형의 테스트 단계에 있습니다. 나는 또한 다른 것들에 의해 옆으로 추적되었습니다. 잠금도 파일 생성 사용에서 MUTEX 메커니즘으로 디렉토리 생성으로 변경되었습니다.

상호 운용성. MySQL은 기본적으로 계산되는 모든 언어로 인터페이스 할 수 있습니다. Mimesis는 PHP 외부에서 사용할 수 없을 것입니다.

프로파일 러를 사용하거나 외부에서 데이터를 수정하려고하는 순간이 중요해집니다.

당신은 또한 볼 수 있습니다 http://lukeplant.me.uk/resources/flatfile/ PHP 플랫 파일 패키지 용.

플랫 파일로가는 문제는 추가 개발을 위해 상황을 조정하려면 시스템의 기초를 개선하기 위해 상당한 양의 코드를 변경해야한다는 것입니다. 반면 순수한 SQL 시스템이라면 앞으로 진행하기 위해 수정이 거의 없거나 전혀 필요하지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top