2011-09-14 3 views
1

제가 수행 한 데이터 분석 작업의 결과를 표시하기 위해 개발 한 웹 사이트가 있습니다. ASP.NET을 프론트 엔드에 의존하고 Entity Framework와 LINQ를 광범위하게 활용하는 MySQL 백엔드에 연결되었습니다. 나는 개인적으로 과거와 데이터베이스처럼 사용했기 때문에 ASP.NET 기반 웹 사이트에 대한 DB 조언 및 모범 사례?

나는 MySQL을 선택했다,하지만 난 호스팅 제공 업체 (호환되지 않는 커넥터, 접근 권한 등)

에 배포했다 때 몇 가지 심각한 문제를 초래

사이트를 재개발하고 확장 할 준비가되었습니다. 지난 번 문제가 발생하지 않도록 조언을 구하고 있습니다.

새 DB는 두 가지 역할을 수행해야합니다. 첫 번째는 분석 작업의 결과 인 차트의 데이터 공급자가됩니다. 이 테이블은 10 개의 테이블이있는 직선적 인 거의 평평한 파일입니다. 한 테이블은 약 200k 행의 데이터를 가지고 나머지는 각각 1200 행의 데이터를가집니다. DB 테이블 간에는 거의 참조 또는 u 리가 없지만 몇 가지가 있습니다. 이 데이터는 백 엔드 프로세스에 의해 주기적으로 업데이트되며 사용자가 추가하거나 편집 할 필요가 없습니다.

DB의 두 번째 역할은 표준 사용자 관리 시스템의 기본 영구 저장소입니다. 클라이언트 추가, 제거, 사용자 이름, 암호, 액세스 권한에 대한 데이터를 관리해야합니다. 금융 데이터 또는 최고 보안 데이터는 관련되지 않습니다.

웹 호스트에서 쉽게 배포 및 관리 할 수있게 해주고 Entity Framework와 LINQ를 효과적으로 사용할 수있는 데이터베이스 접근 방식을 권하고 싶습니다.

둘째,이 시스템을 다시 작성할 때 어떤 도구/프레임 워크를 고려해야합니까? 매우 그래픽적이고 데이터 중심입니다. 도표 및 정보의 발표는이 위치에있는 중요한 요인이다. 내가하고있는 일에 특정 가치를 부여 할 수있는 새로운 기술이나 프레임 워크가 있습니까?

몇 노트. 나는 한 사람의 가게이고 나는 전체 시스템을 스스로 유지 관리하므로 다른 사람들보다 기업 수준의 프레임 워크에 대해 덜 우려하고 있습니다. 제 관심은 사이트를 쉽게 개발하고 배포하는 데 있습니다. 유지 보수성 또한 핵심 요소입니다.

저는 경험이 많은 C# 개발자이지만 ASP.NET과 웹 측면에서는 새로운 것입니다. 이 사이트의 첫 번째 버전은 큰 학습 경험이었습니다. 그것은 좋았지 만 새로운 기술과 접근법을 이해하는 데 엄청난 시간을 낭비했습니다. 나는 배우는 것에 열정이 있지만, 완전한 패러다임 변화에 대해 머리를 맞출 여유가 없습니다.

나는 감사 드리며, 감사합니다.

더그

답변

2

자연 선택은 SQL Server입니다. 귀하의 설명에 따르면 SQL Server Express Edition의 최대 공간 제한에 미치지 못합니다. 물론 Entity Framework를 지원하며 드라이버는 .NET Framework의 일부이므로 제 3 자 어셈블리와 관련된 문제는 없습니다.

사실 SQL Azure가 Microsoft SQL Server이기 때문에 나중에 클라우드 (Azure)에 앱을 호스팅 할 수있는 가능성도 열리게되므로이를 지원하는 데 오버 헤드가 없습니다.

사용자 관리 - ASP.NET에는이 모든 구성원 (멤버십, 역할 및 프로필 공급자) 및 기본 테이블을 사용할 수있는 SQL 공급자가 있습니다. 따라서 사용자가 직접 테이블을 디자인 할 필요가 없으며 SQL Server에서 자연스럽게 실행됩니다.

+0

이것은 내가가는 방향이지만 좀 더 자세하게 설명하고 싶습니다. 나는 서버 기반 SQL 서버에 익숙하지만, 파일 기반 시스템은 어떻게 될까? 데날리는 선택권인가? – drobertson