2010-11-19 4 views
1

MVC에 들어가고 멋지지만, 여전히 어떤 dabatase 시스템을 사용할 지 결정해야합니다. 수년 동안 나의 옵션은 다음과 같습니다 :.NET MVC 2에서 사용할 권장 데이터베이스는 무엇입니까?

1) MS SQL. 복잡한 웹 응용 프로그램의 경우. 예 : 장바구니 또는 CMS.

2) MS 액세스. 작고 단순한 경우. 예 : 작은 제품 카탈로그, 블로그 또는 뉴스 시스템.

Access를 계속 사용하고 싶지 않지만 SQL 데이터베이스를 호스팅하는 데 더 많은 비용을 지불하지 않으려면 SQL Express를 사용하는 것이 좋습니다. 하지만 SQL Express (호스팅을 지원할 때)를 사용하면 많은 연결이 열릴 때 (응용 프로그램과 다른 응용 프로그램이 같은 풀에있는 응용 프로그램을 호스팅 할 때) 연결 문제가 발생합니다.

LINQ를 사용하려면 LINQ2SQL을 사용하기 위해 MS SQL (익스프레스)을 사용해야합니다.

더 많은 호스팅 비용이 들지 않는 MS Access 또는 SQL Express 대신 어떤 데이터베이스에 대한 제안 사항이 있습니까? 그렇지 않으면 엔티티 + MS 액세스를 시도해야합니다. 당신의 도움을 주셔서 감사합니다.

+0

NoSQL 솔루션을 사용 해본 적이 있습니까? MongoDB | CouchDb | RavenDB ... – Ahmad

+0

nosql 옵션 중 하나에 Linq 공급자가 있습니까? – rboarman

+0

의견을 보내 주신 모든 분들께 감사드립니다. 나는 다음과 같이 생각합니다. 1) 내 호스팅으로 MS SQL Express 문제를 해결할 수 있습니다. 2) L2E + Access를 사용하여 Access를 지원하고 LINQ를 제공하지만 L2E에 대한 확신이 없습니다. 새 버전은 괜찮습니다 (최적화 된 sql 쿼리가 들리지는 않습니다). 3) mySQL을 사용해야합니다 LINQ 공급자가 있는지 확인하십시오.) – Nestor

답변

1

대부분의 중소 규모 웹 사이트의 경우 SQL Express를 사용할 것입니다. SQL Server 정식 버전뿐만 아니라 무료로 사용할 수 있습니다. 우리는 SQL Express로 무수히 많은 웹 사이트를 운영합니다.

액세스에 대해서는 액세스가 농담이 아닙니다. 그것은 당신이 그것을 어떻게 사용 하느냐에 달려 있습니다. 내가 말에 @ 마티 무스를 넣고 450kg의 암소 (내가 매일 어렸을 때 한 일)를 올가미에 올리라고 말하면 그는 농담도 할 것이다. 코스 용 말이야?

는 무지와 거짓 속물 근성을 기반으로하는 액세스 오해를 dispell하려면 다음을 참조하십시오 이 Who Access really is (one very versatile cookie for a start)

그냥 웹 사이트에 대한 액세스를 사용하지 마십시오. 너는 필요 없어. SQL Express 만 있으면됩니다.

+0

감사합니다 Awrigley, 나는 Access에 대하여 아무것도 없지만 MS 경향은 데이터베이스 응용 프로그램을 위해 다른 버전의 SQL로 그것을 대체하는 것입니다. 어쨌든, MVC에서 Access를 사용하는 것은 쉬운 일이 아니며 LINQ 지원 광고가 문제의 근원입니다. 그래서 저는 로컬에서 훌륭하게 작동하는 SQL Express를 사용하고 있지만 "전체 데이터베이스 풀"오류가있는 호스팅 환경에서 일부 연결 문제를 제공하고 있습니다. 몇 번이나 발생하지만, 한 번만 발생해도 아무런 문제가 없으므로 무료 데이터베이스 + LINQ의 다른 방법이 있는지 확인하십시오 – Nestor

+0

MS가 Jet/ACE를 대체하기 위해 다른 데이터베이스를 사용한다는 생각은 얻을 수있는 것입니다 귀하의 관점이 .NET 기술에 의해 정의 된 경우에만 가능합니다. 거기에서 Jet/ACE를 데이터 저장소로 사용할 수 없습니다 (비록 내가 볼 수있는 질문에 따라 많은 사람들이 그것을 수행하고 있지만 어쨌든). 그러나 Jet/ACE는 데스크톱 환경에 매우 적합하며 Access (및 Office 제품군)의 일부로 본격적인 개발 단계에 있습니다. Microsoft는 웹 백엔드로 권장하지 않습니다. –

+0

MS SQL Express를 고집하기로 결정한 모든 의견을 토대로 내 호스팅에 대한 티켓을 열었습니다. 연결 문제는 제 사례에만 해당됩니다. 답변 해 주신 모든 분들께 고마워요. – Nestor

4

한 번에 두 명 이상의 사용자를 처리해야하는 웹 사이트에서는 액세스가 완전히 허용되지 않습니다.

http://www.15seconds.com/Issue/010514.htm

, 데이타베이스에 대한 요구 사항은 무엇입니까? 관계형이어야합니까? 얼마나 많은 동시 사용자가 귀하의 웹 사이트를 기대합니까?

나는 MySQL 또는 SQL Server Express를 사용합니다.

아마도 SQL Server 문제의 세부 정보를 게시 할 수 있습니다. 우리는 그 문제를 해결할 수 있습니다.

+0

예, 액세스가 더 이상 사용되지 않는다는 것을 알고 있으므로 SQL Express를 사용하기 시작했습니다. 문제는 SQL Express가 SQL Server에 연결되지 않은 파일 데이터베이스로 실행된다는 것입니다. 그런 다음 Access에서 발생하지 않았던 호스팅에서 "전체 연결 풀"문제가 발생했습니다. 이제 전체 SQL Server를 사용하면 비용이 더 많이 들지만 클라이언트는 작은 제품 목록 웹 사이트에 대해 더 많은 비용을 지불하고 싶지 않습니다.) ... mySql에서 들었지만 결코 사용하지 않았으므로 MS를 사용하는 것을 선호합니다. 익숙한. 도와 주셔서 감사합니다. – Nestor

+0

인용 된 기사는 오해의 소지가있는 정보로 채워져 있습니다. 웹 기반 응용 프로그램의 백 엔드 인 Jet/ACE가 최적이 아니라는 점에 동의하지만 여러 사용자를 확실히 지원할 수 있습니다. 다중 연결을 열거 나 닫는 방법에 대한 조언은 Jet/ACE에서 완전히 잘못되었습니다. 코드가 단일 연결을 열고 다시 사용해야합니다. –

-1

액세스는 농담입니다. MSSQL, MySQL 또는 Oracle을 사용해야합니다. 저는 개인적으로 MSSQL을 좋아합니다. 액세스는 대규모 작업을 처리하도록 설계된 것이 아니며 어리석게 느립니다.

+1

그는 오라클을 배제하기 위해 "더 많은 비용"을 원하지 않습니다. – rboarman

+0

@ rboarman : 저렴하고 무료 인 Oracle 버전이 있습니다. 일부 경우 Oracle은 SQL보다 저렴할 수 있습니다. 필자는 항상 오라클이 힘이 없다고 생각했지만 SQL Server보다 비용이 저렴한 중대 규모 설치에서 인스턴스를 보았습니다. –

+0

미리 구매 가격보다 더 고려해야 할 사항이 있습니다. 도구, 지원, 백업 및 도움을 제공하는 사람들을 포함한 Oracle의 지속적인 가격은 다른 옵션보다 상당히 높습니다. 거대한 웹 사이트를 지원해야하는 경우가 아니면 그 경로를 이동할 필요가 없습니다.이것은 정말 종교적 논쟁입니다. 많은 돈을 쓰고 싶지 않은 초보자 인 경우 오라클은 배제해야합니다. IMHO – rboarman

0

MVC로 원하는 모든 데이터베이스를 사용할 수 있습니다. 다른 사람들이 웹 개발을 위해 Access로부터 멀어 지도록 제안했습니다.

Express Edition을 포함한 SQL Server는 소규모 웹 사이트에 적합합니다. MySQL 및 기타 저렴한/관계형 데이터베이스를 살펴볼 수도 있습니다.

관련없는 메모에서, mi familia는 Merida Yucatan입니다. :)

+0

더 많은 관련이없는 메모에서, mi familia, pesar del apellido, de San Luis, Argentina ... MVC의 – awrigley

+0

은 Access에 대한 직접적인 LINQ 공급자가 아니며 SQL Express는 나를 호스팅 환경에 문제가되고 있습니다. 옵션은 L2E + Access 또는 MySQL입니다 (LINQ가 있는지 궁금합니다). 관련없는 참고 사항 : De verdad? que coincidencia! Vivo en China, 메사 추세 스기 준주와 함께 에스트라 알라? nos podemos reunir. – Nestor

+0

안녕하세요 Awrigley! 좋은 우연의 일치, 당신의 스페인어는 꽤 좋습니다. 대단해! y gracias por tu ayuda. – Nestor

0

이렇게 많은 질문이있는 것처럼,이 문자는 "얼마나 긴 문자열입니까?" 환경을 고려할 때를 제외하고는 무엇이 적절한 것인지 정말로 말할 수는 없습니다.

읽기 전용 웹 사이트의 경우 Jet/ACE는 수행중인 작업을 잘 알고있는 경우 매우 훌륭하게 수행 할 수 있습니다. Michael Kaplan의 http://trigeminal.com은 Jet 데이터베이스에 의해 백업되지만 읽기 전용입니다. 당시의 전성기였던 MichKa는 하루에 100K 페이지 뷰를 얻고 있다고 말하곤했습니다. (또는 우려되는만큼 너무 높았습니다.)

그러나 읽기/쓰기 사이트에서는 거의 많은 사용자를 지원할 수 없습니다.

그렇다고해서 Jet/ACE를 백 엔드로 사용할 수있는 것은 아닙니다. 최대 5 명의 사용자가 있고 Intraweb 앱이라면 그걸로도 충분할 것입니다.

직접 사용하고 싶지는 않지만 Jet/ACE 데이터베이스 엔진에 적합한 사용자 집단에서는 문제가되지 않을 것입니다. 특히 연결을 올바르게 관리하는 경우에는 특히 그렇습니다. Jet/ACE는 (LDB 파일을 만들고 다시 만드는 오버 헤드로 인해) 연결을 끊임없이 열거 나 닫을 때보 다 단일 공유 연결을 사용하면 더 잘 작동하므로 표준 서버와는 다르게 코드를 작성해야합니다. 기반 데이터베이스.

또한 마이클 카플란은 ADO/OLEDB를 통해 Jet가 스레드 안전성을 제공하지만 DAO를 통해이를 가리킨다는 사실을 지적했습니다. ADO/OLEDB를 사용하면 웹 사이트의 백엔드로 사용하기에는 한계가있었습니다. 아주 작거나 일회용 인 사이트 이외에는 선택하지 않는 편이 낫습니다. 아니면 비싸지 않은 옵션도 없었습니다. .

그러나 요점은 여기에서 만들 수있는 담요 성명서가 없다는 점입니다. 신뢰성있는 작동 여부는 전적으로 귀하가 사용하는 환경의 특성에 달려 있습니다.

관련 문제