동시 삽입을위한 삽입 시간을 향상시키는 솔루션을 찾고 있습니다. 모든 파티션에 전용 하드웨어를 제공하지 않는 Oracle 파티셔닝의 이점은 있습니까?오라클을 동일한 HDD에 파티셔닝하면 어떤 이점이 있습니까?
답변
현재 삽입 프로세스의 병목 현상은 무엇입니까? 난 "높은 동시성"에서 귀하의 질문에 당신이 OLTP 애플 리케이션에 대한 얘기가 어디 많은 단일 행 삽입보다는 데이터에 일반적으로 될 많은 행을 삽입하는 것 같아요 창고.
OLTP 시나리오에서 파티셔닝이 단일 행 삽입을 수행하는 데 필요한 시간을 줄이는 것은 거의 없습니다. 테이블에서 트리거와 같은 명백한 시간 낭비를 이미 제거했다고 가정하면 삽입 오버 헤드의 대부분은 리두 로그에 대한 쓰기를위한 약간의 I/O로 인덱스 유지 관리가 될 것입니다. OLTP 환경에서는 일반적으로 스테이징 테이블에로드 할 수 없으며 인덱스 유지 관리 비용을 줄이는 파티션 교환을 수행 할 수 없기 때문에 파티셔닝을 통해 파티션을 줄일 수 있습니다.
글쎄요, 다른 모든 것처럼, 그것은 다릅니다.
파티셔닝은 경합을 줄이고 핫 블록을 제거 할 수 있습니다. 예를 들어, 거래 시스템을 원한다면 상상해보십시오. 대리 고객 ID 값을 통해 해시로 분할 한 경우 각 색인은 상당히 작을 수 있으며 경합 및 색인 루트 분할의 영향을 덜받을 수 있습니다.
동시성 문제가있는 경우 다른 솔루션으로는 "한쪽 다리가있는"인덱스에 대해 역방향 키 인덱스를 사용하는 것입니다. 인덱싱 된 시퀀스가 채워진 열로 인해 블록 분할이 계속됩니다. 그러나 역방향 키 인덱스를 사용하면 범위 스캔에서 인덱스를 사용할 수 없으므로주의해야합니다.
실제로 Oracle 대기 이벤트가 중요한 트랜잭션 경로의 일부인지 여부에 달려 있습니다. 여러분이 기다리고있는 것은 일반적으로 어떤 해결책이 적절한지를 결정합니다.
그래서 도움이 될 수 있습니다. 상황을 악화시킬 수도 있습니다. 대기 시간을 추가하는 것에 대한 정보가 없으면 인터넷이 문제를 해결하는 데 도움이되지 못합니다.
안녕하세요, @ Adam. 그래서 이론적으로 도움이 될 수 있습니다. 좋습니다. 불행히도 필자는 오라클 내부를 잘 파악하지 못해 삽입물을 프로파일 링하고 병목 현상을 확인합니다. 나는 시간 메트릭스 만 삽입하는 것을 안다. 당신이 뭔가 유용한 것을 지적한다면 매우 감사 할 것입니다. 고맙습니다! –
StatsPack을 사용하면 매크로 조정 수준에서 도움이되며 Oracle Performance and Tuning Guide에 설명되어 있습니다. –
- 1. MSBuild를 사용하면 어떤 이점이 있습니까?
- 2. sessionStorage를 사용하면 어떤 이점이 있습니까?
- 3. WCF를 사용하면 어떤 이점이 있습니까?
- 4. Subversion을 사용하면 어떤 이점이 있습니까?
- 5. 펄 스레드는 커널 스레드와 동일한 이점이 있습니까?
- 6. 전략 패턴을 사용할 때 어떤 이점이 있습니까?
- 7. ORM에서 == 연산자를 재정의하는 데 어떤 이점이 있습니까?
- 8. Tomcat에서 APR을 사용하면 어떤 이점이 있습니까?
- 9. 인터페이스에서만 @Deprecated 표기법을 사용하면 어떤 이점이 있습니까?
- 10. SQL DataContext에 LINQ를 삭제하면 어떤 이점이 있습니까?
- 11. C#을 통해 Java에 어떤 이점이 있습니까?
- 12. Mongo에서 상속을 사용하면 어떤 이점이 있습니까?
- 13. PHP에 java bridge를 사용하면 어떤 이점이 있습니까?
- 14. Vaadin에서는 VerticalContainer보다 Panel을 사용하면 어떤 이점이 있습니까?
- 15. 여기에 varchar보다 varbinary를 사용하면 어떤 이점이 있습니까?
- 16. Python VirtualBox API를 사용하면 어떤 이점이 있습니까?
- 17. 오라클에 비동기식으로 삽입하면 어떤 이점이 있습니까?
- 18. 내부적으로 속성을 사용하면 어떤 이점이 있습니까?
- 19. Apache FOP보다 Antennahouse를 사용하면 어떤 이점이 있습니까?
- 20. VARCHAR에 비해 CHAR를 사용하면 어떤 이점이 있습니까?
- 21. C#에서 인터페이스를 사용하면 어떤 이점이 있습니까?
- 22. AND 또는 &&를 사용하면 어떤 이점이 있습니까?
- 23. Composite 패턴을 사용하면 Array에서만 어떤 이점이 있습니까?
- 24. 메서드 시그니처에 제네릭을 사용하면 어떤 이점이 있습니까?
- 25. JCE에 fips를 사용하면 어떤 이점이 있습니까?
- 26. "정적"ASPX 파일의 OutputCache에는 어떤 이점이 있습니까?
- 27. Mvc jquery 유효성 검사에서 어떤 이점이 있습니까?
- 28. 심볼 서버를 설치하면 어떤 이점이 있습니까?
- 29. PHP에서 CURL을 래퍼로 사용하면 어떤 이점이 있습니까?
- 30. PureMVC의 이식성은 애플리케이션 개발자에게 어떤 이점이 있습니까?
시작 장소가 병목 현상을 확인하는 데 전적으로 동의합니다. 그러나 동시 삽입이 테이블이나 인덱스에서 핫 블록을 놓고 경쟁하고 있다고 가정하면 새 행이 다른 파티션으로 지정된 경우이를 처리하기위한 가능한 방법이 파티셔닝 할 수 없습니까? –
@Dave - 문제가 핫 블록에서 발생하고 다른 세션이 다른 로컬 인덱스로 다른 파티션에 삽입되었다고 가정하면 테이블을 파티션하면 유용합니다. 색인을 해싱하는 것도 도움이 될 수 있습니다. 반면 역방향 키 인덱스는 경합 문제를 해결하기에 충분할 수도 있습니다. –
안녕 저스틴, 데이브. 내가 1-100라고 말하면서 균일하게 분포 된 값으로리스트 파티션을 구현하고 싶습니다. 이 경우 세그먼트 수준 리소스 경합 제거 동시성을 줄이기 위해 노력하겠습니다. 테이블에는 인덱스와 트리거가 없습니다. 답변 해 주셔서 감사합니다. –