2011-01-04 5 views
4

저는 콘텐츠 솔루션 통합을위한 기술 아키텍처를 연구하고 있습니다. 솔루션 제공 업체의 데이터는 수백만 행으로 실행되고 3NF로 정규화됩니다. 정기적으로 업데이트되며 (일일 가능성이 가장 높음) 데이터는 매우 세부적인 원 자성 수준으로 분할됩니다.데이터베이스 정규화 및 신속 검색

이 데이터를 검색하고 쿼리해야하는데 현재 정규화 된 데이터를 그대로두고 해당 데이터 (OLTP에서 OLTP로)에서 비정규 화 된 데이터베이스를 만드는 것이 좋습니다. '전송'은 원시 복사 권한 외에도 필요한 비즈니스 로직을 포함 할 수있는 맞춤형 작성 프로그램이며 필요에 따라 일정에 따라 실행할 수 있습니다. 비정규 화 된 데이터베이스는 원 자성을 줄이고 키워드 검색 및 쿼리를 효율적으로 실행할 수 있습니다. 비정규 화 된 데이터베이스의 키워드 작업에 Lucene .NET을 사용하려고합니다.

내가 언덕에서 큰 소리로 노래하기 전에 이것이 앞으로 나아갈 길임을 알기에 이것에 대한 전문가의 의견과 인식 된 "모범 사례"가 필요했습니다. 내가 제공 할 데이터를 고려한 최선의 방법을 제안한 방법입니까? 아마도 '검색 엔진'을 사용하여 정규화 된 데이터를 검색 할 수 있다고 제안되었습니다. 이것은 나에게서 두려움을 두려워했지만 질문을 제기했다. 어떤 검색 엔진과 어떻게?

의견, 화염, 나쁜 언어와 도움 감사합니다 :) 내가 표준화 된 형태로 저장 데이터를 기반으로보고 데이터베이스와 데이터웨어 하우스를 구축

+3

정상화 된 형식으로 데이터를 검색하는 데 문제가 있습니까? 검색을 위해 비정규 화를 통해 이익을 얻을 수있는 데이터베이스가 있지만 내 경험상 사람들은 성능 문제가 있다고 생각하는 것이 훨씬 빠릅니다. 또한, 어떤 RDBMS를 사용하고 있습니까? –

+0

답장 Larry를 보내 주셔서 감사합니다. 이것은 모두 MS SQL을 기반으로합니다. 정규화 된 데이터에 대한 키워드 기반 또는 반 복합 쿼리를 수행하는 것이 절대적인 나이를 차지한다는 것을 확신 할 수 있습니다. 문명이 더 빨리 갔다! – dooburt

+0

그런 식으로 돌아 가기 전에 모든 인덱스, FK를 확인하고 결국 % 프로세서 및 % 메모리를 모니터링합니다. 나는 최근에 여기에 좋은 무료 진단 도구를 발견 : http://sqlcop.lessthandot.com/ –

답변

2

. 전송 프로그램 (ETL)에는 꽤 많은 작업이 필요합니다. 데이터 피드에 대한 설명이 주어지면 공급 업체가 그 작업 중 일부를 수행했을 수도 있습니다.

수백만 개의 행이 요즘 많지 않습니다. 기존 데이터베이스에 보고서 지향 뷰를 가져올 수 있습니다. 그것을 시도하고 볼 수 있습니다.

OLAP 지향 데이터베이스를 구축 할 때 가장 큰 이점은 속도가 아닙니다. 유연성입니다. "우리는이 보고서를 좋아하지만 지금은 월별 보고서가 아닌 매주 및 분기 보고서를보고 싶습니다." "제조 카테고리 대신 마케팅 카테고리별로 분류 할 수 있습니까? Bam! 완료!" 등등.

+0

Walter, 답변 해 주셔서 감사합니다. ETL 프로그램은 여기에 나와있는 모든 요소를 ​​기반으로 한 내 선호 방식입니다. OLAP 데이터는 예를 들어 보고서 a, b, c 및 d에 대한 수많은 요청으로 설명 된대로 정확하게 수행해야합니다. 나는 정규화 된 데이터에 대한 Materialized Views에 대한 아이디어를 가지고 놀았지만, 제어 할 수없는 요인이있어 그럴 가능성이 희박합니다. – dooburt

0

공진 정규화 모델 (3NF/BCNF)은 가장 많은 수의 시나리오에 대해 최상의 평균 성능과 최소한의 수정 변형을 제공합니다. 그것은 크다. 그래서 나는 거기에서 시작할 것이다. 요구 사항이 불분명하기 때문에 가장 합리적인 선택처럼 보입니다.

사실, 가장 합리적인 것은 그들이 좀 더 "선명"가 될 때까지 요구 사항을 통해 이동하는 것입니다, 당신은 당신의 데이터 공급자에서 몇 초 추출물에 손을 얻을 수 있다면,

또한)를 그것으로 실험하고 데이터 배포에 대한 느낌을 얻을 수 있습니다. (모든 사람이 한 국가에 살고있는 것은 아니며 일부 국가는 다른 사람들보다 많은 사람들을 보유하고 있습니다. 모든 사람이 어린이를 갖지는 않으며 한 사람당 어린이 수는 국가마다 크게 다릅니다) . 이것은 중요한 포인트이며 옵티마이 저가 올바른 결정을 내리는 데 중요합니다.

그 외에도 월터가 말한 모든 것에 동의하고 그에게도 투표권을주었습니다.

관련 문제