그것은 당신이 지금까지 제공 한 것으로 제한된 정보를 바탕으로 좋은 조언을 제공하기가 어렵습니다. 그러나 :
... 예제에는 내장 된 MySQL 함수를 사용하여 쿼리와 일치시킬 수없는 그래프 기반 데이터 형식 (화학 구조)이 포함됩니다. Java 라이브러리는 텍스트 필드의 쿼리와 내용을 일치시킬 수있는 메모리 내 객체로 변환합니다. DB 계층에이 논리를 유지하면 데이터베이스에 조인을 유지할 수 있습니다. 조인은 데이터베이스에 속해있는 것처럼 보입니다. 그것이 적어도 아이디어입니다.
저는 MySQL에서 데이터베이스 측 Java를 사용할 것이라고 생각하지 않습니다.
은 JDO 또는 그래프 기반 데이터 모델과 무엇 사이의 매핑을 처리하는 (최대 절전 모드를 사용하여 예를 들어) JPA와 같은 객체 - 관계형 매핑을 사용하는 대신에, 나는 다음과 같은 옵션을 고려할 것이라고 생각 데이터베이스가 제공합니다. 반드시 RDBMS를 백엔드로 사용할 필요는 없지만, 이것이 성능상의 문제라는 것을 이미 알지 못한다면 아마 시작하기 가장 좋은 장소 일 것입니다.
데이터 모델 및 데이터 액세스 패턴을 다시 한 번 살펴보십시오. 서버 측 응용 프로그램 로직에 의존하지 않고 응용 프로그램의 기본 쿼리를 (효율적인) 테이블 조인으로 구현할 수있는 변환을 이해할 수 있는지 확인하십시오.
성능 측면에서 서버 측 응용 프로그램 논리를 사용해야 할 경우 RDBMS에서 지원하는 메커니즘을 고수하십시오.예를 들어, Oracle에서는 PL/SQL과 PostgreSQL을 사용할 수 있습니다. 응용 프로그램 요구 사항에 더 잘 맞는 다른 RDBMS로 전환 할 준비를하십시오.
나는 (개인적으로) 일부 데이터베이스의 실험 지점에 따라 피할 것 :
분명히 소프트웨어의 장기적인 실행 가능성이 주요 관심사가 아니라면이 조언을 무시할 수 있습니다. 그러나 그것은 아마도 누군가에게 중요합니다. 예 : 연구 책임자.
+1 흥미 롭습니다. 나는 항상 db에 데이터를 저장하고 비즈니스 계층에서 모든 로직을 구현했습니다. 사실 저는 이것에 대해 종교적이었습니다. db에서 Java 코드를 호출하는 것이 좋은 설계 결정이었던 프로젝트를 보는 데 관심이 있습니다. 어떤 링크? –
예를 들어 DB의 기능을 뛰어 넘는 사용자 지정 기능. 그러나 나는 또한 그러한 일을 할 수 있다는 가치에 대해 매우 의문을 품습니다. DB는 데이터를 저장/관리하기위한 것이지 비즈니스 물건을 저장하는 것이 아닙니다. – BalusC
@darren이 예제에는 내장 된 MySQL 함수를 사용하여 쿼리와 일치 할 수없는 그래프 기반 데이터 유형 (화학 구조)이 포함됩니다. Java 라이브러리는 텍스트 필드의 쿼리와 내용을 일치시킬 수있는 메모리 내 객체로 변환합니다. DB 계층에이 논리를 유지하면 데이터베이스에 조인을 유지할 수 있습니다. 조인은 데이터베이스에 속해있는 것처럼 보입니다. 그것이 적어도 아이디어입니다. –