저는 웹 앱을위한 데이터베이스를 설계했습니다. 저는 "책"을 만들고 있습니다. 즉, 나는했습니다 :비정규 화 : 어느 정도가 너무 많습니까?
- 앱의 실체를 포함하는 ER 다이어그램, 속성, 관계
- 은 "노 스키마에 스키마를 번역 스키마
- 에있는 ER 다이어그램을 번역 만든 "형식으로 데이터베이스를 모델링합니다 (데이터베이스는 Cassandra (NoSQL) 데이터베이스 임).
모든 것이 잘 진행되고 있습니다 (지금까지). 이전에 비정규 화하여 큰 결과를 얻었으며 아직 비정규 화되지 않은 데이터를 사용하는 앱의 일부를 구현하고 있습니다. 이 특정 부분에 대해 이렇게하면 성능이 다소 향상 될 것입니다 (7 대신 Column_Family (관계형의 "표")에서 읽음).
그러나 너무 많이 비정규화할 수도 있습니다. 문제의 부분에 대해 그렇게 할 예정이라면 내 응용 프로그램의 Column_Family/table 수를 약 20 % 줄이고 데이터베이스의 상당 부분을 비정규 화하면 어떤 이유로 긴장하게됩니다.
응용 프로그램이 데이터베이스 디자이너 나 관리자를 선내에서 얻을 수있는 성공을 거둘 수만 있다면, 내가 수행하는 비정규 화가 필요하다는 것을 결정할 수 있기를 바랍니다. 성능 (최선의 경우) 또는 최소한 유해하지 않은 (최악의 경우) 성능을 추구합니다.
비정규 화 결정을 내릴 때주의해야 할 사항이 있습니까? 그렇게하는 것이 나쁜 것인지, 아니면 항상 유지 보수 가능성에 달려 있습니까?
"정상적으로 작동 할 때까지 정상화, 작동 할 때까지 비정규 화합니다"- anon. –
@MitchWheat : 해당 견적을 검색하면 http://stackoverflow.com/questions/47711/how-do-you-determine-how-far-to-normalize-a-database 및 http : // www. codinghorror.com/blog/2008/07/maybe-normalizing-isnt-normal.html. 둘 다 도움이되었습니다. 감사! – Kevin