문제

나는 작은 프로젝트 계획을 개발하고 있으며 어떤 지역 데이터베스 시스템을 사용할 것인지 결정해야 할 때가 왔습니다.

입력 데이터는 WebServer (호스팅 -MySQL DB)에 저장됩니다. 아이디어는 필요한 모든 데이터 (예 : 자정에)를 다운로드하고 처리하는 프로세스를 구축하는 것입니다. 그러나 많은 입력과 처리 단계가있을 것이므로 응용 프로그램의 반 제품을 저장하기 위해 일종의 로컬 데이터베이스를 사용해야합니다.

C# (.NET) 애플리케이션과 함께 작업하는 데 어떤 로컬 데이터베이스 시스템을 사용 하시겠습니까?

편집 : 최종 제품 (정보)은 MySQL DB 호스팅으로 쉽게 내보내야합니다.

그의 대답에서 언급했듯이 - 예, 저는 공연과 사용의 편안함을위한 것입니다.

도움이 되었습니까?

해결책

Microsoft SQL 2005 Express는 .NET에서 개발할 때 명백한 선택으로 이루어지기 때문에 Microsoft SQL 2005 Express를 말하고 싶습니다.

그러나 그것은 모두 이전의 DB 기술에 달려 있습니다. 이미 MySQL을 알고 있고 이미 말했듯이 데이터를 MySQL로 다시 내보내야합니다. MySQL을 완전히 사용하지 않는 이유는 무엇입니까?

다른 팁

빠르고 더러운 것을 위해 함께 갈 것입니다 SQL Server Compact Edition. SQL Server의 프로세스 구현이므로 다른 응용 프로그램을 설치할 필요가 없습니다.

그 당시에는 이런 종류의 액세스 데이터베이스를 사용합니다. 그러나 액세스 데이터베이스는 다소 타격입니다.

완성 된 데이터를 프로덕션 서버에 다시 업로드하는 데별로 걸리지 않습니다. 해당 프로세스를 자동화하는 솔루션을 찾고 있다면 MySQL 인스턴스를 로컬로 호스팅하고 제공하는 복제 서비스를 사용해야 할 것입니다.

SQL Server Compact Edition과 함께 간다고합니다. 이는 SQL Server의 전체 버전과 비슷하며 VS2008은 테이블, 쿼리 등을 설계하는 데 도움이되었습니다 (Management Studio 2008도 지원합니다). 가장 큰 단점은 저장된 절차를 잃어 버린다는 것입니다. 그러나 로컬 사용자 시스템에 아무것도 설치할 필요가 없기 때문에 상승세는 훌륭하며 데이터를 선택하는 데 실제로 빠르게 작동합니다. 시원하게도 SQL Metal을 사용하면 DBML 파일을 만들고 SQL Server와 마찬가지로 LINQ를 사용할 수 있습니다.

DB4O를 사용하는 것은 어떻습니까? 응용 프로그램에 포함시킬 수있는 oodb입니다. 또한 지원합니다 복제. 편집 : 부수적 노트 - DB4O를 사용하는 현재 PET 프로젝트에서 라인이 있습니다 (C# 3.5).

IList<Users> list = Persistence.Database.Query<Users>(u => u.Name == "Admin");

강력한 입력 된 람다 표현식을 사용하여 데이터베이스에서 (게으른) 객체 목록을 얻습니다. 또한 인덱스를 사용하여 목록을 빠르게 검색합니다.

MS SQL Server 지원은 다른 드라이버 나 설정이 필요하지 않고 상자에서 나옵니다. 또한 MS SQL Server Express는 무료입니다.

MySQL로 데이터를 내보내는 스크립트를 생성 할 수 있습니다.

"명백한"선택은 MS SQL Server Express입니다. VS와 .NET은 둘 다 기본적으로 지원하고 이미 기본 DB의 경우 (메인 DB의 경우), 나는 그것을 고수하고 싶은 유혹을받을 것입니다 (또는 그 Express 버전).

그러나 그것은 확실히 당신의 옵션의 끝이 아닙니다. 크로스 플랫폼 애플리케이션 및 웹 애플에 SQLITE를 많이 사용합니다. 눈에 띄게 빠르고 꽤 잘 통합됩니다. System.data.sqlite -S SQL Server만큼 단단하지는 않지만.

SQLITE와 상당히 잘 비교하는 SQL Server의 소형판이 있습니다.

사용할 수있는 것을 선택하지만 인터페이스에 대해서만 코드를 선택하십시오. 그렇게하면 쉽게 전환 할 수 있습니다.

생산의 경우, 대규모 프로젝트의 MS SQL (또는 미드 레벨에 대한 표현)을 단순히 소규모 프로젝트의 경우 VS 및 SQLITE와의 긴밀한 통합으로 인해 말합니다.

설명을 감안할 때, 나는 Sqlite가 가장 간단하고 가장 낮은 오버 헤드이기 때문에 좋은 선택이라고 생각합니다.

나는 완전히 구문과 MySQL과 호환되는 유형의 좋은 과정 데이터베이스를 모른다. 이를 염두에두고 세 가지 옵션이 있습니다.

  1. sqllite, Access 또는 SQL Server Compact와 같은 것을 선택하십시오. 문제는 복잡한 변환 로직을 그 중 어느 것도 작성하고 모든 쿼리를 두 번 작성해야한다는 것입니다.
  2. MySQL을 로컬로 설치하십시오. 그런 다음 로컬 시스템에서 전체 데이터베이스 서버가 실행되는 것을 참아야합니다. 당신은 확실히 고객에게 배송 할 모든 것을 피하고 싶지만, 자신의 용도로는 괜찮을 것입니다. 다행히도 MySQL은 다른 현대 데이터베이스 서버만큼 많은 리소스를 사용하지 않지만 여전히 이상적이지 않습니다.
  3. 서버에서 SQL Server Express Edition으로 전환하고 클라이언트에서 SQL Server Compact를 사용하십시오. 그것은 MySQL만큼 저렴합니다 (상업용 용도로 MySQL을 구매할 것으로 예상되기 때문에 더 저렴합니다). 클라이언트 엔드에서 C#을 사용하고 있다는 점을 고려하면 서버 측에서 ASP.NET과 함께 사용할 수도 있습니다. ASP.NET 서버 측면을 사용하는 경우 SQL Server Express를 제공하는 호스트를 찾는 것은 어렵지 않습니다. 이제 데이터베이스가 유형 호환 가능하며 클라이언트를 위해 쓰는 모든 쿼리도 서버에서도 작동하도록 보장됩니다.

MS 데이터베이스 스택의 큰 강점 중 하나 인 IMO (액세스 제외)는 데스크탑에서 다중 다타 테어 클러스터까지 모든 방법에 대한 호환 솔루션이 있다는 것입니다. 앱의 스케일이 변경되거나 두 가지 다른 클래스의 앱 사이에 데이터를 배송 해야하는 경우 데이터베이스 계층이 처리됩니다.

SQL Server 2008이 새롭고 RTM이 지금도 상자에서 작동하기 때문에 SQL Server 2005 (필요한 경우 Express)를 추천하지만 늦게 테스트를 해왔습니다.

SQL Server 대부분의 언급 한대로 ... 내 이유는 소스 컨트롤을 사용하여 C#에서 데이터베이스로 테스트 케이스를 통합 할 수 있기 때문입니다 ....

팀 재단 (TFS)은 GUI와 함께 Microsoft의 것 중 하나입니다.

이것은 이미 답변되었으므로. CLR 언어로 작업 할 때 CLR/.NET Framework 통합은 MS SQL Server 2005/2008을 나머지 부분과 차별화시킵니다. 발췌 한 다음 여기.

Visual Basic .NET 및 C#과 같은 언어를 사용하면 CLR 통합을 활용하여보다 복잡한 로직을 갖고 계산 작업에 더 적합한 코드를 작성할 수 있습니다. 또한 Visual Basic .NET 및 C#은 캡슐화, 상속 및 다형성과 같은 객체 지향 기능을 제공합니다. 관련 코드를 클래스 및 네임 스페이스로 쉽게 구성 할 수 있으므로 많은 양의 코드로 작업 할 때 더 쉽게 구성하고 코드 투자를 유지할 수 있습니다. 코드를 어셈블리 및 네임 스페이스로 논리적으로 물리적으로 구성하는 기능은 대규모 데이터베이스 구현에서 다양한 코드를 더 잘 찾고 관련시킬 수있는 큰 이점입니다.

당신이 설명한 것에 대해, 확실히 MS SQL Server. 좋은 성능, 좋은 도구. 무료.

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