benchbase icon indicating copy to clipboard operation
benchbase copied to clipboard

Add support for Alibaba Cloud ApsaraDB Confidential Database

Open tyler-lee opened this issue 1 year ago • 7 comments

Add support for Alibaba Cloud ApsaraDB Confidential Database via JDBC.

Reference: https://help.aliyun.com/zh/rds/apsaradb-rds-for-mysql/encjdbc

tyler-lee avatar Mar 07 '24 09:03 tyler-lee

Are there example configs or test cases to add to this?

bpkroth avatar Mar 14 '24 17:03 bpkroth

Are there example configs or test cases to add to this?

No, one can reuse mysql example configs and the only change is to update <driver> and <url> in configs, so it's not necessary?

tyler-lee avatar Mar 18 '24 09:03 tyler-lee

Are there example configs or test cases to add to this?

No, one can reuse mysql example configs and the only change is to update <driver> and <url> in configs, so it's not necessary?

General preference is to have all changes have associated tests with them, else it's hard to know when features that we should be supporting break.

If possible, it would be nice to have some form of dockerized test setup for this as the other supported backends do. See .github/workflows/maven.yml or docker/scripts/build-run-benchmark-with-docker.sh for some details.

Can you please take a look at that before we include this? If it's not possible for some reason we can consider to include it anyways with an "untested" note.

bpkroth avatar Mar 19 '24 19:03 bpkroth

Are there example configs or test cases to add to this?

No, one can reuse mysql example configs and the only change is to update <driver> and <url> in configs, so it's not necessary?

General preference is to have all changes have associated tests with them, else it's hard to know when features that we should be supporting break.

If possible, it would be nice to have some form of dockerized test setup for this as the other supported backends do. See .github/workflows/maven.yml or docker/scripts/build-run-benchmark-with-docker.sh for some details.

Can you please take a look at that before we include this? If it's not possible for some reason we can consider to include it anyways with an "untested" note.

Thank you for the kind reminder.

There is not public docker image for the DB now and only commercial instances are available (refer to Enable Always Confidential for detailed info), hence it is not possible to build a dockerized test environment.

As an alternative solution, is that ok to provide config/mysql/sample_tpcc_with_encjdbc_config.xml with updated <driver> and <url>? So that once activating a commercial instance, one can quickly verify the test.

tyler-lee avatar Mar 20 '24 03:03 tyler-lee

Are there example configs or test cases to add to this?

No, one can reuse mysql example configs and the only change is to update <driver> and <url> in configs, so it's not necessary?

General preference is to have all changes have associated tests with them, else it's hard to know when features that we should be supporting break.

If possible, it would be nice to have some form of dockerized test setup for this as the other supported backends do. See .github/workflows/maven.yml or docker/scripts/build-run-benchmark-with-docker.sh for some details.

Can you please take a look at that before we include this? If it's not possible for some reason we can consider to include it anyways with an "untested" note.

Thank you for the kind reminder.

There is not public docker image for the DB now and only commercial instances are available (refer to Enable Always Confidential for detailed info), hence it is not possible to build a dockerized test environment.

As an alternative solution, is that ok to provide config/mysql/sample_tpcc_with_encjdbc_config.xml with updated <driver> and <url>? So that once activating a commercial instance, one can quickly verify the test.

tyler-lee avatar Mar 20 '24 03:03 tyler-lee

Are there example configs or test cases to add to this?

No, one can reuse mysql example configs and the only change is to update <driver> and <url> in configs, so it's not necessary?

General preference is to have all changes have associated tests with them, else it's hard to know when features that we should be supporting break. If possible, it would be nice to have some form of dockerized test setup for this as the other supported backends do. See .github/workflows/maven.yml or docker/scripts/build-run-benchmark-with-docker.sh for some details. Can you please take a look at that before we include this? If it's not possible for some reason we can consider to include it anyways with an "untested" note.

Thank you for the kind reminder.

There is not public docker image for the DB now and only commercial instances are available (refer to Enable Always Confidential for detailed info), hence it is not possible to build a dockerized test environment.

As an alternative solution, is that ok to provide config/mysql/sample_tpcc_with_encjdbc_config.xml with updated <driver> and <url>? So that once activating a commercial instance, one can quickly verify the test.

I think that'd be ok, but let's put it in its own config folder (e.g., config/aliyundb/sample_tpcc_config.xml). See also the discussion about putting it in its own pom.xml profile. Open to suggestions on the best name to use here, but "AnalyticsDB" seems to generically applicable to be solely identified here.

In that config/aliyundb/ directory we should include some README.md with instructions on how to run/test it and that it is not included in the CI pipelines, so might break.

Also, is there anyway you can help me get access to a way to test this on the side first?

bpkroth avatar Mar 20 '24 15:03 bpkroth

Are there example configs or test cases to add to this?

No, one can reuse mysql example configs and the only change is to update <driver> and <url> in configs, so it's not necessary?

General preference is to have all changes have associated tests with them, else it's hard to know when features that we should be supporting break. If possible, it would be nice to have some form of dockerized test setup for this as the other supported backends do. See .github/workflows/maven.yml or docker/scripts/build-run-benchmark-with-docker.sh for some details. Can you please take a look at that before we include this? If it's not possible for some reason we can consider to include it anyways with an "untested" note.

Thank you for the kind reminder. There is not public docker image for the DB now and only commercial instances are available (refer to Enable Always Confidential for detailed info), hence it is not possible to build a dockerized test environment. As an alternative solution, is that ok to provide config/mysql/sample_tpcc_with_encjdbc_config.xml with updated <driver> and <url>? So that once activating a commercial instance, one can quickly verify the test.

I think that'd be ok, but let's put it in its own config folder (e.g., config/aliyundb/sample_tpcc_config.xml). See also the discussion about putting it in its own pom.xml profile. Open to suggestions on the best name to use here, but "AnalyticsDB" seems to generically applicable to be solely identified here.

In that config/aliyundb/ directory we should include some README.md with instructions on how to run/test it and that it is not included in the CI pipelines, so might break.

Putting it in its own pom.xml profile is ok. But ApsaraDB (formal name of aliyundb) contains multiple different DB engines including apsaradb-for-mysql, apsaradb-for-postgres, etc., and it's not a good practice to put it in its own config folder (config/apsaradb/) since config/xxx is designed for only one DB engine.

Also, is there anyway you can help me get access to a way to test this on the side first?

Yes, you can use the following temporary instance for test purpose. Note: valid for only 7 days. url: rm-2ze74i8o2bz4s759sko.mysql.rds.aliyuncs.com:3306 username: benchbasetest password: Test_123 database: benchbase

tyler-lee avatar Mar 22 '24 09:03 tyler-lee