2011-02-03 2 views
1

나는 왜 ORM이 그렇게 인기가 있고 모든 사람들이 이러한 스펙을 구현하는 객체 데이터베이스를 사용하는 대신 JDO 및 JDA 스펙의 ORM 구현을 사용하고 있는지 궁금합니다. Object 데이터베이스를 사용하면 성능이 훨씬 향상됩니다.ORM + 관계형 DB를 객체 - 관계형 데이터베이스 관리 시스템으로 간주 할 수 있습니까?

objectdb (JDO, JPA) db4o (JDO)

내가 개발자가 자신의 애플리케이션에서 두 객체 모델과 관계형 모델을 사용할 필요가 있기 때문에라고 말할 권리 경우 I을 있습니까?

ORDBM은 어떤가요? 관계형 데이터베이스와 함께 객체 관계형 매핑을 ORDBM으로 간주 할 수있는 ORDBM이 있습니까?

+1

아무도 오라클을 사기 위해 해고 당했기 때문에 아무 것도 없었습니다.) – Gugussee

+0

대부분의 "OO 프로그램"은 실제로 OO를 수행하지 않습니다. Joshua Bloch와 Bill Venners/Martin의 "Effective Java"*에서 설명 된 바와 같이, Java에서 수행되는 방식은 OO와 근본적으로 호환되지 않습니다 (* equals * 및 * hashCode *). Oderky 인터뷰 등) [** 사실 ** ** btw입니다. 논쟁 할 필요가 없습니다. final이 아닌 클래스에서 equals/hashCode 계약을 충족하는 것은 불가능하며 인터페이스에도 문제가 있습니다. 그러나 누구도 자바에서 equals * 및 * hashCode *를 사용하는 데 어려움을 겪지는 않습니다. 왜? 대부분의 Java 프로그램은 실제로 OO 프로그램이 아니기 때문에. – Gugussee

답변

3

사람들이 오브젝트 데이터베이스가 아닌 OR Mapper와 함께 RDBMS를 사용하는 주된 이유는 RDBMS가 모든 사람들이 깊이 이해하고 잘 이해하고 잘 지원한다는 점입니다. 당신은 객체 데이터베이스를 사용하는 경우 문제가 다른 응용 프로그램을 갖는 등보고를 위해 기존의 도구를 사용하여 그것을

  • 을 지원하는 사람들, 백업,
  • 을 찾는

    • 액세스 데이터
    을해야합니다

    개체 데이터베이스가 실제 단어 시나리오에서 실제로 또는 더 나은 성능과 안전성을 제공 할 수 있는지 여부에 대한 의문점이 여전히 많이 있습니다.

  • +0

    "지원 계약"이 "잘하고있다"고 경영 팀에 설명하는 상황에 주변부에서 있었기 때문에 우리는 버그를 발견했을 때 포럼에 좋은 답변을 게시하는이 친구가 있습니다 ... " IBM 솔루션으로 마이그레이션하는 데 3 개월 ... 예, 알려진 공급 업체의 구매 지원 및 기존 IT 직원에 대한 친숙도 중요합니다. – Affe

    1

    내 경험에 비추어 볼 때, 객체 데이터베이스를 사용하면 훨씬 적은 코드와 훨씬 더 깨끗한 프로젝트가 가능 해졌다.

    RDBMS + ORM (LINQ-to-Entities)에 대한 6 주 학습 곡선과 객체 데이터베이스 (db4o)에 대한 1 주 학습 곡선의 차이점을 나타냅니다.

    0

    잘 알고있는 일반적으로 사용되는 DBMS (예 : Oracle, SQL Server, DB2, MySQL, PostGreSQL)는 관계형이 아닙니다. 이들은 SQL 모델을 기반으로합니다. SQL 모델은 관계형 모델과 몇 가지면에서 닮았지 만 전혀 다른 것입니다.

    객체 관계형 DBMS는 관계 DBMS와 같은 것을 의미한다. 원칙적으로 RDBMS가 무제한의 데이터 유형 및 관계형 연산 세트를 지원할 것이라고 말하는 또 다른 방법입니다. O/R 매핑 소프트웨어는 SQL DBMS가 그렇게 잘하지 못한다는 사실만을 나타냅니다.