데이터베이스가 있으므로 SQL Server 2005와의 호환성을 유지해야하며 복잡성을 줄이고 성능 문제를 해결할 수있는 방법을 고려해 왔습니다.복잡한 SQL Server 데이터베이스 스키마 작업
내 데이터베이스는 대부분 다른 데이터와 비슷하며 많은 양의 데이터가 있으며 거기에 많은 쿼리가 있습니다. 비즈니스 요구 사항을 충족시키기 위해 (지금 당분간) 진화 해 온 많은 저장 프로 시저가 있습니다. 이것은 대부분 괜찮지 만 성능 문제가 발생하고 쿼리가 점차 복잡해지고 있습니다.
언뜻보기에 내 데이터 모델에 문제가 있다고 생각하지 않습니다. 불합리하게 표준화되지 않았습니다. (일부 항목은 이미 비정규화한 상태입니다.) 그러나 아직까지는 빠른 속도의 쿼리를 작성하고 실행할 수 없습니다. 내 웹 인터페이스 AJAX 쿼리는 여기 저기에 다소 우연히 존재하는 모든 제약 조건 때문에 쿼리를 수행합니다.
그래서 그것에 대해 생각해 보았습니다. 내 데이터베이스를 고리로 구성하려고합니다. 설명하겠습니다.
기본적으로, 가장 내부 링, 당신은 데이터의 대부분의 전문 세트를 찾을 수 있습니다. 이 테이블은 완전히 비정규 화되어 있으며 외부 링의 데이터를 집계하여 쿼리가 실제로 빠르게 실행되도록 구축 된 되었습니다.
가장 바깥 쪽 반지가 이상적으로 "벙어리"이며 기본적으로 실제로는 단지 물건을 넣기에 좋지 않은 입니다. 외부 및 내부 사이
- 는 기본적 개념 모델, 다른 링에서 이러한 풀 또는 내부 링에 밀어이며, 당신은 당신의 데이터를 정리하고 올바른지 확인하십시오 곳은 입니다.
데이터는 외부 링에서 내부 링으로 만 흐를 수 있습니다.
다른 벨소리를 일관성있게 유지하기 위해 트리거를 사용하고 싶지는 않지만, 결과 일관성을 유지하기 위해 정기적 인 간격으로 수신 대기하는 서비스와 작업이 있습니다.
자, 여기가 조언을 구하고 숙련 된 데이터베이스 사용자로부터 의견을 얻기를 바랍니다. 이런 식으로 데이터베이스에서 더 많은 것을 얻을 수 있다고 생각합니다. 또한 여러 단계에서 복잡성과 성능 문제를 모두 해결할 수 있습니다. 어쩌면 내가하고있는 일에 대한 공통적 인 이름이 있을지, 아니면 NoSQL의 움직임에 관한 것일 수도 있지만 실제로는 모르겠다. 그 아이디어는 나에게 호소력이있다. 그러나 나가 나가는 길에 있다면, 내가 실수하기 전에 그것에 대해 듣고 싶습니다 ...
속도와 최종 일관성을 원할 경우 NoSQL 솔루션을 선택하는 것이 좋습니다. 이 중 일부는 나쁜 생각처럼 보이는 SQL Server를 사용하는 자신 만의 nosql 솔루션과 같습니다. – JNK
언어 청년 시계 –
@JNK - 점프하고 SQL Server를 버리는 것이 발생하지 않는다고 가정 해 봅시다. 또한 SQL Server가 모든 일을 처리하고, 올바른 방식으로 처리하며, 일을 처리하는 데 전혀 불만을 갖지 않습니다. 궁극적으로는 NoSQL이 올바른 선택이지만 아직 거기에 없기 때문에 ... –