드라이버 호환성
이 페이지의 내용
MongoDB 호환성
다음 호환성 표는 MongoDB 의 특정 버전과 함께 사용할 MongoDB Ruby 운전자 의 권장 버전을 명시합니다. 표시된 경우를 제외하고 지정된 운전자 버전은 해당 서버 버전에 추가된 기능을 노출하거나 활용합니다.
MongoDB 서버 릴리스는 일반적으로 이전 버전과 호환되므로 특정 버전의 운전자 는 일반적으로 최신 버전의 서버 에서 작동하지만 최신 버전의 서버 에서 릴리스된 기능을 활용하지 못할 수 있습니다.
중요
MongoDB는 서버 버전의 수명 종료(EOL) 날짜 이후 3년 동안 MongoDB Server와 드라이버 간의 호환성을 보장합니다. MongoDB 릴리스 및 수명 종료 날짜에 대한 자세한 내용은 MongoDB 소프트웨어 수명 주기 예정을 참조하세요.
첫 번째 열은 운전자 버전을 나열합니다. 다른 열의 'D'는 해당 MongoDB 버전에 대한 지원 이 더 이상 사용되지 않으며 향후 운전자 버전에서 제거될 예정임을 의미합니다.
루비 드라이버 | MongoDB 8.0 | MongoDB 7.0 | MongoDB 6.0 | MongoDB 5.0 | MongoDB 4.4 | MongoDB 4.2 | MongoDB 4.0 | MongoDB 3.6 | MongoDB 3.4 | MongoDB 3.2 | MongoDB 3.0 | MongoDB 2.6 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2.21 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
2.20 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
2.19 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
2.18 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
2.17 | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||
2.16 | ✓ | ✓ | ✓ | ✓ | ✓ | D | D | D | D | |||
2.15 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
2.14 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
2.13 | ✓ [1] | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
2.12 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
2.11 | ✓ [3] | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
2.10 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
2.9 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
2.8 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
2.7 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
2.6 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
2.5 | ✓ | ✓ | ✓ | ✓ | ✓ |
[1] | OCSP 확인은 드라이버 버전 2.14 부터 구현됩니다. |
[2] | 샤딩된 토폴로지에서 SRV 레코드의 폴링은 운전자 버전 2.11 부터 구현됩니다. |
[3] | (1, 2) 클라이언트 사이드 암호화는 드라이버 버전 2.12부터 구현됩니다. |
이 드라이버는 이전 버전의 MongoDB를 지원하지 않습니다.
Ruby 호환성
다음 호환성 표에는 다양한 버전의 MongoDB Ruby 운전자 에서 지원하는 Ruby 버전이 명시되어 있습니다.
첫 번째 열에는 드라이버 버전이 나열됩니다. "D"가 표시된 열은 해당 Ruby 버전에 대한 지원이 중단되었음을 의미합니다.
루비 드라이버 | Ruby 3.2 | Ruby 3.1 | Ruby 3.0 | Ruby 2.7 | Ruby 2.6 | Ruby 2.5 | Ruby 2.4 | Ruby 2.3 | Ruby 2.2 | Ruby 2.1 | Ruby 2.0 | Ruby 1.9 | JRuby 9.4 | JRuby 9.3 | JRuby 9.2 | JRuby 9.1 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2.20 ~ 2.21 | ✓ | ✓ | ✓ | D | ✓ | ✓ | D | |||||||||
2.19 | ✓ | ✓ | ✓ | ✓ | D | D | ✓ | ✓ | ||||||||
2.18 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||
2.17 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||
2.16 | ✓ | ✓ | ✓ | ✓ | D | ✓ | ||||||||||
2.15 | ✓ | ✓ | ✓ | ✓ | D | D | ✓ | |||||||||
2.14 | ✓ | ✓ | ✓ | D | D | ✓ | ||||||||||
2.13 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||
2.12 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||
2.11 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||
2.10 | ✓ | ✓ | ✓ | ✓ | ✓ | D | D | D | D | ✓ | ✓ | |||||
2.9 | ✓ | ✓ | ✓ | ✓ | D | D | D | D | ✓ | ✓ | ||||||
2.8 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
2.7 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
2.6 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
이 운전자 는 이전 버전의 Ruby 를 지원 하지 않습니다.
Rails/ActiveSupport 호환성
Ruby 운전자 는 ActiveSupport에 의존하지 않습니다. 그러나 애플리케이션 이 ActiveSupport 또는 Ruby on Rails를 사용하는 경우 시간 직렬화와 같은 동작이 올바르게 작동하려면 드라이버의 ActiveSupport 호환성 코드를 로드해야 합니다.
require 'mongo' require 'mongo/active_support'
Mongoid 7.0.6 이상을 사용하는 애플리케이션은 Mongoid가 자동으로 로드하기 때문에 드라이버의 ActiveSupport 코드를 명시적으로 로드할 필요가 없습니다.
TLS/SSL 호환성
드라이버는 기본 Ruby openssl
확장에서 지원하는 프로토콜을 활용합니다. 차례로 openssl
확장은 일반적으로 운영 체제의 OpenSSL 라이브러리에 존재하는 기능을 노출합니다.
업계 권장사항 및 일부 규정에서는 TLS 1.1 이상을 사용해야 합니다. 일부 운영 체제 또는 버전에서는 이러한 TLS 버전을 지원할 만큼 새로운 OpenSSL 버전을 제공하지 않을 수 있습니다.
macOS 이전 10.13 버전(High Sierra) 사용자는 rvm 에서 Ruby를 설치해야합니다. , 홈브루, macports 또는 기타 유사한 소스입니다. Ruby-lang.org에서 설치 정보를 참조하세요. 을(를) 참조하세요.
Linux 또는 기타 비 macOS Unix 사용자는 다음과 같이 OpenSSL 버전을 확인할 수 있습니다.
openssl version
버전 번호가 1.0.1 미만인 경우 TLS 1.1 이상에 대한 지원 은 제공되지 않습니다. 솔루션 또는 최신 배포판으로 업그레이드 하려면 운영 체제 벤더 에 문의하세요.
다음 명령을 실행하여 Ruby 인터프리터를 확인할 수 있습니다.
ruby -e "require 'net/http'; require 'json'; puts JSON.parse(Net::HTTP.get(URI('https://www.howsmyssl.com/a/check')))['tls_version']"
"TLS 1.X"가 표시되어야 하며, 여기서 X는 >= 1 입니다.
여기에서 TLS 버전 및 해당 버전이 보안에 미치는 영향에 대해 자세히 알아볼 수 있습니다. .
Atlas 호환성
드라이버버전 이 버전은 TLS 연결이 사용되고 모든 Atlas 연결이 TLS를 사용하므로 MongoDB Atlas를 사용할 때 이상을 사용하는 것이 좋습니다.2.6.1
JRuby에서 실행 중이고 Atlas 무료 계층에 연결하는 경우, 드라이버버전 이상 2.6.4 및 Java 이상이 필요합니다.8
mongo_kerberos
호환성
다음 호환성 표는 운전자 의 특정 버전과 함께 사용할 mongo_kerberos 라이브러리 의 버전을 지정합니다.
루비 드라이버 | mongo_kerberos 2.1 |
---|---|
2.7 - 2.19 | ✓ |
JRuby 및 Kerberos 인증
JRuby를 사용한 Kerberos 인증에 mongo_kerberos
젬을 사용하는 경우, TGT의 시스템 캐시 사용을 용이하게 하기 위해 JVM 시스템 속성 'sun.security.jgss.native'가 'true'로 설정됩니다(예: kinit
로 얻은 TGT). JGSS 라이브러리를 다른 용도로 사용하는 경우에도 이 설정의 영향을 받으므로 시스템 캐시의 모든 TGT를 Kerberos 자격 증명을 얻는 데에도 사용할 수 있습니다.
JRuby 및 TLS 연결
JRuby 제한으로 인해:
ECDSA 서버 인증서는 지원되지 않습니다.
OCSP 엔드포인트 확인이 수행되지 않습니다.