From 582dcb606a9064007be6260a16c35971e4b57a55 Mon Sep 17 00:00:00 2001 From: jasonli-improving Date: Wed, 14 Feb 2024 13:49:47 -0800 Subject: [PATCH 1/3] add differences section --- README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README.md b/README.md index fa489e275..2449c3977 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,21 @@ An Amazon Aurora DB cluster uses failover to automatically repairs the DB cluste Although Aurora is able to provide maximum availability through the use of failover, existing client drivers do not fully support this functionality. This is partially due to the time required for the DNS of the new primary DB instance to be fully resolved in order to properly direct the connection. The AWS JDBC Driver for MySQL fully utilizes failover behavior by maintaining a cache of the Aurora cluster topology and each DB instance's role (Aurora Replica or primary DB instance). This topology is provided via a direct query to the Aurora database, essentially providing a shortcut to bypass the delays caused by DNS resolution. With this knowledge, the AWS JDBC Driver can more closely monitor the Aurora DB cluster status so that a connection to the new primary DB instance can be established as fast as possible. Additionally, as noted above, the AWS JDBC Driver is designed to be a drop-in compatible for other MySQL JDBC drivers and can be used to interact with RDS and MySQL databases as well as Aurora MySQL. +## Differences between the AWS MySQL JDBC driver and the AWS JDBC Driver +The AWS MySQL JDBC driver, as its name explicitly says, is a MySQL JDBC driver built on top of the MySQL-Connector-J JDBC driver to provide features and enhancements of Amazon Aurora databases to that driver. That means that a user can only use the AWS MySQL JDBC driver with MySQL databases and/or MySQL-compatible Amazon RDS and Amazon Aurora clusters. + +The AWS JDBC Driver (previously named AWS Advanced JDBC Wrapper) provides similar functionalities. However, it is not specific to a certain vendor database. The idea behind this driver is to build a feature/functionality layer for JDBC on top of an existing database driver. It was designed to work with multiple relational databases and also different drivers, whether they are community-based or proprietary drivers. For the databases, the AWS JDBC Driver currently supports MySQL, but also PostgreSQL and MariaDB. + +In that sense, one could see the functionalities in the AWS MySQL Driver now as just a smaller subset of the functionalities and capabilities of the AWS JDBC Driver. + +Once the AWS JDBC Driver was released, it was decided not to proceed with any new functionalities in the AWS MySQL JDBC Driver. In that sense, the AWS MySQL JDBC Driver is now behind in terms of functionalities, only receiving security and critical fixes. + +It is mentioned in the AWS MySQL Driver documentation that all new feature work will only be available in the AWS JDBC Driver and that all users should consider migrating to the AWS JDBC Driver sooner rather than later. One will also find in the Maintenance Policy section of the documentation that the driver will be discontinued soon, in July 2024. + +In the documentation of the AWS JDBC Driver, there is a section to guide users in the process of migrating from the AWS MySQL JDBC Driver to the AWS JDBC Driver. + +If you are new to the projects and are wondering which one to use, you should definitely use the AWS JDBC Driver. + ## Getting Started ### Prerequisites From 1ed966d5c45e960d66b0a52593f9ab0402d76feb Mon Sep 17 00:00:00 2001 From: jasonli-improving <155494523+jasonli-improving@users.noreply.github.com> Date: Wed, 14 Feb 2024 14:47:22 -0800 Subject: [PATCH 2/3] add links --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 2449c3977..83458294b 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ An Amazon Aurora DB cluster uses failover to automatically repairs the DB cluste Although Aurora is able to provide maximum availability through the use of failover, existing client drivers do not fully support this functionality. This is partially due to the time required for the DNS of the new primary DB instance to be fully resolved in order to properly direct the connection. The AWS JDBC Driver for MySQL fully utilizes failover behavior by maintaining a cache of the Aurora cluster topology and each DB instance's role (Aurora Replica or primary DB instance). This topology is provided via a direct query to the Aurora database, essentially providing a shortcut to bypass the delays caused by DNS resolution. With this knowledge, the AWS JDBC Driver can more closely monitor the Aurora DB cluster status so that a connection to the new primary DB instance can be established as fast as possible. Additionally, as noted above, the AWS JDBC Driver is designed to be a drop-in compatible for other MySQL JDBC drivers and can be used to interact with RDS and MySQL databases as well as Aurora MySQL. ## Differences between the AWS MySQL JDBC driver and the AWS JDBC Driver -The AWS MySQL JDBC driver, as its name explicitly says, is a MySQL JDBC driver built on top of the MySQL-Connector-J JDBC driver to provide features and enhancements of Amazon Aurora databases to that driver. That means that a user can only use the AWS MySQL JDBC driver with MySQL databases and/or MySQL-compatible Amazon RDS and Amazon Aurora clusters. +The AWS MySQL JDBC driver, as its name explicitly says, is a MySQL JDBC driver built on top of the [MySQL-Connector-J JDBC driver](https://github.com/mysql/mysql-connector-j) to provide features and enhancements of Amazon Aurora databases to that driver. That means that a user can only use the AWS MySQL JDBC driver with MySQL databases and/or MySQL-compatible Amazon RDS and Amazon Aurora clusters. The AWS JDBC Driver (previously named AWS Advanced JDBC Wrapper) provides similar functionalities. However, it is not specific to a certain vendor database. The idea behind this driver is to build a feature/functionality layer for JDBC on top of an existing database driver. It was designed to work with multiple relational databases and also different drivers, whether they are community-based or proprietary drivers. For the databases, the AWS JDBC Driver currently supports MySQL, but also PostgreSQL and MariaDB. @@ -26,11 +26,11 @@ In that sense, one could see the functionalities in the AWS MySQL Driver now as Once the AWS JDBC Driver was released, it was decided not to proceed with any new functionalities in the AWS MySQL JDBC Driver. In that sense, the AWS MySQL JDBC Driver is now behind in terms of functionalities, only receiving security and critical fixes. -It is mentioned in the AWS MySQL Driver documentation that all new feature work will only be available in the AWS JDBC Driver and that all users should consider migrating to the AWS JDBC Driver sooner rather than later. One will also find in the Maintenance Policy section of the documentation that the driver will be discontinued soon, in July 2024. +It is mentioned in the AWS MySQL Driver [documentation](https://github.com/awslabs/aws-mysql-jdbc/blob/main/README.md#known-limitations) that all new feature work will only be available in the AWS JDBC Driver and that all users should consider migrating to the AWS JDBC Driver sooner rather than later. One will also find in the [Maintenance Policy](https://github.com/awslabs/aws-mysql-jdbc/blob/main/RELEASE_POLICY.md#maintenance-policy) section of the documentation that the driver will be discontinued soon, in July 2024. -In the documentation of the AWS JDBC Driver, there is a section to guide users in the process of migrating from the AWS MySQL JDBC Driver to the AWS JDBC Driver. +In the documentation of the AWS JDBC Driver, there is a [section to guide users](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/UsingTheJdbcDriver.md#aws-jdbc-driver-for-mysql-migration-guide) in the process of migrating from the AWS MySQL JDBC Driver to the AWS JDBC Driver. -If you are new to the projects and are wondering which one to use, you should definitely use the AWS JDBC Driver. +If you are new to the projects and are wondering which one to use, you should definitely use the [AWS JDBC Driver](https://github.com/awslabs/aws-advanced-jdbc-wrapper). ## Getting Started From 09a5ff095401f916dd9b4ef0532a4bc690fa3af2 Mon Sep 17 00:00:00 2001 From: jasonli-improving Date: Fri, 16 Feb 2024 13:40:51 -0800 Subject: [PATCH 3/3] add suggestions from review --- README.md | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 83458294b..8040aac0d 100644 --- a/README.md +++ b/README.md @@ -18,19 +18,13 @@ An Amazon Aurora DB cluster uses failover to automatically repairs the DB cluste Although Aurora is able to provide maximum availability through the use of failover, existing client drivers do not fully support this functionality. This is partially due to the time required for the DNS of the new primary DB instance to be fully resolved in order to properly direct the connection. The AWS JDBC Driver for MySQL fully utilizes failover behavior by maintaining a cache of the Aurora cluster topology and each DB instance's role (Aurora Replica or primary DB instance). This topology is provided via a direct query to the Aurora database, essentially providing a shortcut to bypass the delays caused by DNS resolution. With this knowledge, the AWS JDBC Driver can more closely monitor the Aurora DB cluster status so that a connection to the new primary DB instance can be established as fast as possible. Additionally, as noted above, the AWS JDBC Driver is designed to be a drop-in compatible for other MySQL JDBC drivers and can be used to interact with RDS and MySQL databases as well as Aurora MySQL. ## Differences between the AWS MySQL JDBC driver and the AWS JDBC Driver -The AWS MySQL JDBC driver, as its name explicitly says, is a MySQL JDBC driver built on top of the [MySQL-Connector-J JDBC driver](https://github.com/mysql/mysql-connector-j) to provide features and enhancements of Amazon Aurora databases to that driver. That means that a user can only use the AWS MySQL JDBC driver with MySQL databases and/or MySQL-compatible Amazon RDS and Amazon Aurora clusters. +The AWS JDBC Driver for MySQL is based on the open-sourced [MySQL Connector/J JDBC driver](https://github.com/mysql/mysql-connector-j) and allows users to take advantage of the features of Amazon Aurora databases. The AWS JDBC driver for MySQL can be used only with MySQL databases or MySQL-compatible Amazon RDS and Amazon Aurora clusters. -The AWS JDBC Driver (previously named AWS Advanced JDBC Wrapper) provides similar functionalities. However, it is not specific to a certain vendor database. The idea behind this driver is to build a feature/functionality layer for JDBC on top of an existing database driver. It was designed to work with multiple relational databases and also different drivers, whether they are community-based or proprietary drivers. For the databases, the AWS JDBC Driver currently supports MySQL, but also PostgreSQL and MariaDB. +The [AWS JDBC Driver](https://github.com/awslabs/aws-advanced-jdbc-wrapper) provides similar functionalities, but is not specific to a certain vendor database. This driver instead uses a feature layer for JDBC on top of an existing database driver that the user specifies. It was designed to work with multiple relational databases and also different drivers, whether they are community-based or proprietary drivers. The AWS JDBC Driver currently supports the MySQL and PostgreSQL databases. -In that sense, one could see the functionalities in the AWS MySQL Driver now as just a smaller subset of the functionalities and capabilities of the AWS JDBC Driver. +Once the AWS JDBC Driver was released, it was decided new features would not be added to the AWS JDBC Driver for MySQL and that future development would be taking place in the AWS JDBC Driver project. More details can be found in the [maintenance policy](https://github.com/awslabs/aws-mysql-jdbc/blob/main/RELEASE_POLICY.md#maintenance-policy). The AWS JDBC Driver for MySQL is now behind in terms of features and only receives security and critical fixes. The current maintenance window for the AWS JDBC Driver for MySQL ends on July 25, 2024, and it is recommended to migrate to the AWS JDBC Driver before that date. There is a [migration guide](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/UsingTheJdbcDriver.md#aws-jdbc-driver-for-mysql-migration-guide) available in the AWS JDBC Driver documentation to assist users through the migration process. -Once the AWS JDBC Driver was released, it was decided not to proceed with any new functionalities in the AWS MySQL JDBC Driver. In that sense, the AWS MySQL JDBC Driver is now behind in terms of functionalities, only receiving security and critical fixes. - -It is mentioned in the AWS MySQL Driver [documentation](https://github.com/awslabs/aws-mysql-jdbc/blob/main/README.md#known-limitations) that all new feature work will only be available in the AWS JDBC Driver and that all users should consider migrating to the AWS JDBC Driver sooner rather than later. One will also find in the [Maintenance Policy](https://github.com/awslabs/aws-mysql-jdbc/blob/main/RELEASE_POLICY.md#maintenance-policy) section of the documentation that the driver will be discontinued soon, in July 2024. - -In the documentation of the AWS JDBC Driver, there is a [section to guide users](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/UsingTheJdbcDriver.md#aws-jdbc-driver-for-mysql-migration-guide) in the process of migrating from the AWS MySQL JDBC Driver to the AWS JDBC Driver. - -If you are new to the projects and are wondering which one to use, you should definitely use the [AWS JDBC Driver](https://github.com/awslabs/aws-advanced-jdbc-wrapper). +For new users who are wondering which one driver to use, it is recommended to use the [AWS JDBC Driver](https://github.com/awslabs/aws-advanced-jdbc-wrapper). ## Getting Started