diff --git a/.env b/.env index f0dc7746d4..67f1640dd4 100644 --- a/.env +++ b/.env @@ -50,9 +50,9 @@ _APP_DB_ROOT_PASS=rootsecretpassword _APP_DB_ADAPTER_DOCUMENTSDB=mongodb _APP_DB_HOST_DOCUMENTSDB=mongodb _APP_DB_PORT_DOCUMENTSDB=27017 -_APP_DB_ADAPTER_VECTORSDBS=postgresql -_APP_DB_HOST_VECTORSDBS=postgresql -_APP_DB_PORT_VECTORSDBS=5432 +_APP_DB_ADAPTER_VECTORSDB=postgresql +_APP_DB_HOST_VECTORSDB=postgresql +_APP_DB_PORT_VECTORSDB=5432 _APP_EMBEDDING_MODELS=embeddinggemma _APP_EMBEDDING_ENDPOINT='http://ollama:11434/api/embed' _APP_STORAGE_DEVICE=Local diff --git a/app/controllers/api/migrations.php b/app/controllers/api/migrations.php index 2b0731b9de..b141ad323b 100644 --- a/app/controllers/api/migrations.php +++ b/app/controllers/api/migrations.php @@ -48,7 +48,7 @@ function getDatabaseTransferResourceServices(string $databaseType) return match($databaseType) { DATABASE_TYPE_LEGACY, DATABASE_TYPE_TABLESDB => Transfer::GROUP_DATABASES_TABLES_DB, - DATABASE_TYPE_VECTORSDBS => Transfer::GROUP_DATABASES_VECTOR_DB + DATABASE_TYPE_VECTORSDB => Transfer::GROUP_DATABASES_VECTOR_DB }; } diff --git a/app/controllers/api/project.php b/app/controllers/api/project.php index e9409f0591..b79180c91c 100644 --- a/app/controllers/api/project.php +++ b/app/controllers/api/project.php @@ -78,12 +78,12 @@ Http::get('/v1/project/usage') METRIC_DATABASES_OPERATIONS_WRITES_DOCUMENTSDB, METRIC_FILES_IMAGES_TRANSFORMED, // VectorsDB totals - METRIC_DATABASES_VECTORSDBS, - METRIC_COLLECTIONS_VECTORSDBS, - METRIC_DOCUMENTS_VECTORSDBS, - METRIC_DATABASES_STORAGE_VECTORSDBS, - METRIC_DATABASES_OPERATIONS_READS_VECTORSDBS, - METRIC_DATABASES_OPERATIONS_WRITES_VECTORSDBS, + METRIC_DATABASES_VECTORSDB, + METRIC_COLLECTIONS_VECTORSDB, + METRIC_DOCUMENTS_VECTORSDB, + METRIC_DATABASES_STORAGE_VECTORSDB, + METRIC_DATABASES_OPERATIONS_READS_VECTORSDB, + METRIC_DATABASES_OPERATIONS_WRITES_VECTORSDB, // Embeddings totals METRIC_EMBEDDINGS_TEXT, METRIC_EMBEDDINGS_TEXT_TOTAL_TOKENS, @@ -106,12 +106,12 @@ Http::get('/v1/project/usage') METRIC_DATABASES_OPERATIONS_WRITES_DOCUMENTSDB, METRIC_FILES_IMAGES_TRANSFORMED, // VectorsDB time series - METRIC_DATABASES_VECTORSDBS, - METRIC_COLLECTIONS_VECTORSDBS, - METRIC_DOCUMENTS_VECTORSDBS, - METRIC_DATABASES_STORAGE_VECTORSDBS, - METRIC_DATABASES_OPERATIONS_READS_VECTORSDBS, - METRIC_DATABASES_OPERATIONS_WRITES_VECTORSDBS, + METRIC_DATABASES_VECTORSDB, + METRIC_COLLECTIONS_VECTORSDB, + METRIC_DOCUMENTS_VECTORSDB, + METRIC_DATABASES_STORAGE_VECTORSDB, + METRIC_DATABASES_OPERATIONS_READS_VECTORSDB, + METRIC_DATABASES_OPERATIONS_WRITES_VECTORSDB, // Embeddings time series METRIC_EMBEDDINGS_TEXT, METRIC_EMBEDDINGS_TEXT_TOTAL_TOKENS, @@ -404,12 +404,12 @@ Http::get('/v1/project/usage') 'databasesWritesTotal' => $total[METRIC_DATABASES_OPERATIONS_WRITES], 'documentsdbDatabasesReadsTotal' => $total[METRIC_DATABASES_OPERATIONS_READS_DOCUMENTSDB], 'documentsdbDatabasesWritesTotal' => $total[METRIC_DATABASES_OPERATIONS_WRITES_DOCUMENTSDB], - 'vectorsdbDatabasesTotal' => $total[METRIC_DATABASES_VECTORSDBS] ?? 0, - 'vectorsdbCollectionsTotal' => $total[METRIC_COLLECTIONS_VECTORSDBS] ?? 0, - 'vectorsdbDocumentsTotal' => $total[METRIC_DOCUMENTS_VECTORSDBS] ?? 0, - 'vectorsdbDatabasesStorageTotal' => $total[METRIC_DATABASES_STORAGE_VECTORSDBS] ?? 0, - 'vectorsdbDatabasesReadsTotal' => $total[METRIC_DATABASES_OPERATIONS_READS_VECTORSDBS] ?? 0, - 'vectorsdbDatabasesWritesTotal' => $total[METRIC_DATABASES_OPERATIONS_WRITES_VECTORSDBS] ?? 0, + 'vectorsdbDatabasesTotal' => $total[METRIC_DATABASES_VECTORSDB] ?? 0, + 'vectorsdbCollectionsTotal' => $total[METRIC_COLLECTIONS_VECTORSDB] ?? 0, + 'vectorsdbDocumentsTotal' => $total[METRIC_DOCUMENTS_VECTORSDB] ?? 0, + 'vectorsdbDatabasesStorageTotal' => $total[METRIC_DATABASES_STORAGE_VECTORSDB] ?? 0, + 'vectorsdbDatabasesReadsTotal' => $total[METRIC_DATABASES_OPERATIONS_READS_VECTORSDB] ?? 0, + 'vectorsdbDatabasesWritesTotal' => $total[METRIC_DATABASES_OPERATIONS_WRITES_VECTORSDB] ?? 0, 'executionsBreakdown' => $executionsBreakdown, 'bucketsBreakdown' => $bucketsBreakdown, 'databasesReads' => $usage[METRIC_DATABASES_OPERATIONS_READS], @@ -417,12 +417,12 @@ Http::get('/v1/project/usage') 'documentsdbDatabasesReads' => $usage[METRIC_DATABASES_OPERATIONS_READS_DOCUMENTSDB], 'documentsdbDatabasesWrites' => $usage[METRIC_DATABASES_OPERATIONS_WRITES_DOCUMENTSDB], 'documentsdbDatabasesStorage' => $usage[METRIC_DATABASES_STORAGE_DOCUMENTSDB], - 'vectorsdbDatabases' => $usage[METRIC_DATABASES_VECTORSDBS] ?? [], - 'vectorsdbCollections' => $usage[METRIC_COLLECTIONS_VECTORSDBS] ?? [], - 'vectorsdbDocuments' => $usage[METRIC_DOCUMENTS_VECTORSDBS] ?? [], - 'vectorsdbDatabasesStorage' => $usage[METRIC_DATABASES_STORAGE_VECTORSDBS] ?? [], - 'vectorsdbDatabasesReads' => $usage[METRIC_DATABASES_OPERATIONS_READS_VECTORSDBS] ?? [], - 'vectorsdbDatabasesWrites' => $usage[METRIC_DATABASES_OPERATIONS_WRITES_VECTORSDBS] ?? [], + 'vectorsdbDatabases' => $usage[METRIC_DATABASES_VECTORSDB] ?? [], + 'vectorsdbCollections' => $usage[METRIC_COLLECTIONS_VECTORSDB] ?? [], + 'vectorsdbDocuments' => $usage[METRIC_DOCUMENTS_VECTORSDB] ?? [], + 'vectorsdbDatabasesStorage' => $usage[METRIC_DATABASES_STORAGE_VECTORSDB] ?? [], + 'vectorsdbDatabasesReads' => $usage[METRIC_DATABASES_OPERATIONS_READS_VECTORSDB] ?? [], + 'vectorsdbDatabasesWrites' => $usage[METRIC_DATABASES_OPERATIONS_WRITES_VECTORSDB] ?? [], 'databasesStorageBreakdown' => $databasesStorageBreakdown, 'executionsMbSecondsBreakdown' => $executionsMbSecondsBreakdown, 'buildsMbSecondsBreakdown' => $buildsMbSecondsBreakdown, diff --git a/app/controllers/shared/api.php b/app/controllers/shared/api.php index ca411011bf..57d0680e53 100644 --- a/app/controllers/shared/api.php +++ b/app/controllers/shared/api.php @@ -466,7 +466,7 @@ Http::init() $path = $route->getMatchedPath(); $databaseType = match (true) { str_contains($path, '/documentsdb') => DATABASE_TYPE_DOCUMENTSDB, - str_contains($path, '/vectorsdb') => DATABASE_TYPE_VECTORSDBS, + str_contains($path, '/vectorsdb') => DATABASE_TYPE_VECTORSDB, default => '', }; diff --git a/app/http.php b/app/http.php index 10390926d4..a2ec1a93b0 100644 --- a/app/http.php +++ b/app/http.php @@ -420,8 +420,8 @@ $http->on(Constant::EVENT_START, function (Server $http) use ($payloadSize, $tot $documentsSharedTablesV1 = \explode(',', System::getEnv('_APP_DATABASE_DOCUMENTSDB_SHARED_TABLES_V1', '')); $documentsSharedTablesV2 = \array_diff($documentsSharedTables, $documentsSharedTablesV1); - $vectorSharedTables = \explode(',', System::getEnv('_APP_DATABASE_VECTORSDBS_SHARED_TABLES', '')); - $vectorSharedTablesV1 = \explode(',', System::getEnv('_APP_DATABASE_VECTORSDBS_SHARED_TABLES_V1', '')); + $vectorSharedTables = \explode(',', System::getEnv('_APP_DATABASE_VECTORSDB_SHARED_TABLES', '')); + $vectorSharedTablesV1 = \explode(',', System::getEnv('_APP_DATABASE_VECTORSDB_SHARED_TABLES_V1', '')); $vectorSharedTablesV2 = \array_diff($vectorSharedTables, $vectorSharedTablesV1); $cache = $app->getResource('cache'); diff --git a/app/init/constants.php b/app/init/constants.php index a9febd2c32..8690bf73c1 100644 --- a/app/init/constants.php +++ b/app/init/constants.php @@ -304,19 +304,19 @@ const METRIC_DATABASES_OPERATIONS_WRITES_DOCUMENTSDB = 'documentsdb.databases.o const METRIC_DATABASE_ID_OPERATIONS_WRITES_DOCUMENTSDB = 'documentsdb.{databaseInternalId}.databases.operations.writes'; // vectorsdb -const METRIC_DATABASES_VECTORSDBS = 'vectorsdb.databases'; -const METRIC_COLLECTIONS_VECTORSDBS = 'vectorsdb.collections'; -const METRIC_DATABASES_STORAGE_VECTORSDBS = 'vectorsdb.databases.storage'; -const METRIC_DATABASE_ID_COLLECTIONS_VECTORSDBS = 'vectorsdb.{databaseInternalId}.collections'; -const METRIC_DATABASE_ID_STORAGE_VECTORSDBS = 'vectorsdb.{databaseInternalId}.databases.storage'; -const METRIC_DOCUMENTS_VECTORSDBS = 'vectorsdb.documents'; -const METRIC_DATABASE_ID_DOCUMENTS_VECTORSDBS = 'vectorsdb.{databaseInternalId}.documents'; -const METRIC_DATABASE_ID_COLLECTION_ID_DOCUMENTS_VECTORSDBS = 'vectorsdb.{databaseInternalId}.{collectionInternalId}.documents'; -const METRIC_DATABASE_ID_COLLECTION_ID_STORAGE_VECTORSDBS = 'vectorsdb.{databaseInternalId}.{collectionInternalId}.databases.storage'; -const METRIC_DATABASES_OPERATIONS_READS_VECTORSDBS = 'vectorsdb.databases.operations.reads'; -const METRIC_DATABASE_ID_OPERATIONS_READS_VECTORSDBS = 'vectorsdb.{databaseInternalId}.databases.operations.reads'; -const METRIC_DATABASES_OPERATIONS_WRITES_VECTORSDBS = 'vectorsdb.databases.operations.writes'; -const METRIC_DATABASE_ID_OPERATIONS_WRITES_VECTORSDBS = 'vectorsdb.{databaseInternalId}.databases.operations.writes'; +const METRIC_DATABASES_VECTORSDB = 'vectorsdb.databases'; +const METRIC_COLLECTIONS_VECTORSDB = 'vectorsdb.collections'; +const METRIC_DATABASES_STORAGE_VECTORSDB = 'vectorsdb.databases.storage'; +const METRIC_DATABASE_ID_COLLECTIONS_VECTORSDB = 'vectorsdb.{databaseInternalId}.collections'; +const METRIC_DATABASE_ID_STORAGE_VECTORSDB = 'vectorsdb.{databaseInternalId}.databases.storage'; +const METRIC_DOCUMENTS_VECTORSDB = 'vectorsdb.documents'; +const METRIC_DATABASE_ID_DOCUMENTS_VECTORSDB = 'vectorsdb.{databaseInternalId}.documents'; +const METRIC_DATABASE_ID_COLLECTION_ID_DOCUMENTS_VECTORSDB = 'vectorsdb.{databaseInternalId}.{collectionInternalId}.documents'; +const METRIC_DATABASE_ID_COLLECTION_ID_STORAGE_VECTORSDB = 'vectorsdb.{databaseInternalId}.{collectionInternalId}.databases.storage'; +const METRIC_DATABASES_OPERATIONS_READS_VECTORSDB = 'vectorsdb.databases.operations.reads'; +const METRIC_DATABASE_ID_OPERATIONS_READS_VECTORSDB = 'vectorsdb.{databaseInternalId}.databases.operations.reads'; +const METRIC_DATABASES_OPERATIONS_WRITES_VECTORSDB = 'vectorsdb.databases.operations.writes'; +const METRIC_DATABASE_ID_OPERATIONS_WRITES_VECTORSDB = 'vectorsdb.{databaseInternalId}.databases.operations.writes'; const METRIC_EMBEDDINGS_TEXT = 'embeddings.text'; const METRIC_EMBEDDINGS_MODEL_TEXT = 'embeddings.text.{embeddingModel}'; const METRIC_EMBEDDINGS_TEXT_TOTAL_ERROR = 'embeddings.text.totalErrors'; @@ -439,11 +439,11 @@ const PROJECT_STATUS_ACTIVE = 'active'; const DATABASE_TYPE_LEGACY = 'legacy'; const DATABASE_TYPE_TABLESDB = 'tablesdb'; const DATABASE_TYPE_DOCUMENTSDB = 'documentsdb'; -const DATABASE_TYPE_VECTORSDBS = 'vectorsdb'; +const DATABASE_TYPE_VECTORSDB = 'vectorsdb'; // CSV import/export allowed database types const CSV_ALLOWED_DATABASE_TYPES = [ DATABASE_TYPE_LEGACY, DATABASE_TYPE_TABLESDB, - DATABASE_TYPE_VECTORSDBS + DATABASE_TYPE_VECTORSDB ]; diff --git a/app/init/models.php b/app/init/models.php index 195a188c96..095699ac67 100644 --- a/app/init/models.php +++ b/app/init/models.php @@ -219,7 +219,7 @@ Response::setModel(new BaseList('Migrations List', Response::MODEL_MIGRATION_LIS Response::setModel(new BaseList('Migrations Firebase Projects List', Response::MODEL_MIGRATION_FIREBASE_PROJECT_LIST, 'projects', Response::MODEL_MIGRATION_FIREBASE_PROJECT)); Response::setModel(new BaseList('Specifications List', Response::MODEL_SPECIFICATION_LIST, 'specifications', Response::MODEL_SPECIFICATION)); Response::setModel(new BaseList('VCS Content List', Response::MODEL_VCS_CONTENT_LIST, 'contents', Response::MODEL_VCS_CONTENT)); -Response::setModel(new BaseList('VectorsDB Collections List', Response::MODEL_VECTORSDBS_COLLECTION_LIST, 'collections', Response::MODEL_VECTORSDBS_COLLECTION)); +Response::setModel(new BaseList('VectorsDB Collections List', Response::MODEL_VECTORSDB_COLLECTION_LIST, 'collections', Response::MODEL_VECTORSDB_COLLECTION)); Response::setModel(new BaseList('Embedding list', Response::MODEL_EMBEDDING_LIST, 'embeddings', Response::MODEL_EMBEDDING)); // Entities diff --git a/app/init/registers.php b/app/init/registers.php index 64443f590a..37f5cee6ba 100644 --- a/app/init/registers.php +++ b/app/init/registers.php @@ -177,9 +177,9 @@ $register->set('pools', function () { 'path' => System::getEnv('_APP_DB_SCHEMA', ''), ]); $fallbackForVectorsDB = 'db_main=' . AppwriteURL::unparse([ - 'scheme' => System::getEnv('_APP_DB_ADAPTER_VECTORSDBS', 'postgresql'), - 'host' => System::getEnv('_APP_DB_HOST_VECTORSDBS', 'postgresql'), - 'port' => System::getEnv('_APP_DB_PORT_VECTORSDBS', '5432'), + 'scheme' => System::getEnv('_APP_DB_ADAPTER_VECTORSDB', 'postgresql'), + 'host' => System::getEnv('_APP_DB_HOST_VECTORSDB', 'postgresql'), + 'port' => System::getEnv('_APP_DB_PORT_VECTORSDB', '5432'), 'user' => System::getEnv('_APP_DB_USER', ''), 'pass' => System::getEnv('_APP_DB_PASS', ''), 'path' => System::getEnv('_APP_DB_SCHEMA', ''), @@ -206,7 +206,7 @@ $register->set('pools', function () { ], 'vectorsdb' => [ 'type' => 'database', - 'dsns' => System::getEnv('_APP_CONNECTIONS_DATABASE_VECTORSDBS', $fallbackForVectorsDB), + 'dsns' => System::getEnv('_APP_CONNECTIONS_DATABASE_VECTORSDB', $fallbackForVectorsDB), 'multiple' => true, 'schemes' => ['postgresql'], ], diff --git a/app/init/resources.php b/app/init/resources.php index 7c235246d9..d306d9836b 100644 --- a/app/init/resources.php +++ b/app/init/resources.php @@ -681,7 +681,7 @@ Http::setResource('dbForProject', function (Group $pools, Database $dbForPlatfor $path = $request->getURI(); $databaseType = match (true) { str_contains($path, '/documentsdb') => DATABASE_TYPE_DOCUMENTSDB, - str_contains($path, '/vectorsdb') => DATABASE_TYPE_VECTORSDBS, + str_contains($path, '/vectorsdb') => DATABASE_TYPE_VECTORSDB, default => '', }; diff --git a/docker-compose.yml b/docker-compose.yml index c9e20348c3..1a73155816 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -153,12 +153,12 @@ services: - _APP_DB_SCHEMA - _APP_DB_USER - _APP_DB_PASS - - _APP_DB_ADAPTER_VECTORSDBS - - _APP_DB_HOST_VECTORSDBS - - _APP_DB_PORT_VECTORSDBS - - _APP_DB_SCHEMA_VECTORSDBS - - _APP_DB_USER_VECTORSDBS - - _APP_DB_PASS_VECTORSDBS + - _APP_DB_ADAPTER_VECTORSDB + - _APP_DB_HOST_VECTORSDB + - _APP_DB_PORT_VECTORSDB + - _APP_DB_SCHEMA_VECTORSDB + - _APP_DB_USER_VECTORSDB + - _APP_DB_PASS_VECTORSDB - _APP_SMTP_HOST - _APP_SMTP_PORT - _APP_SMTP_SECURE @@ -312,12 +312,12 @@ services: - _APP_DB_SCHEMA - _APP_DB_USER - _APP_DB_PASS - - _APP_DB_ADAPTER_VECTORSDBS - - _APP_DB_HOST_VECTORSDBS - - _APP_DB_PORT_VECTORSDBS - - _APP_DB_SCHEMA_VECTORSDBS - - _APP_DB_USER_VECTORSDBS - - _APP_DB_PASS_VECTORSDBS + - _APP_DB_ADAPTER_VECTORSDB + - _APP_DB_HOST_VECTORSDB + - _APP_DB_PORT_VECTORSDB + - _APP_DB_SCHEMA_VECTORSDB + - _APP_DB_USER_VECTORSDB + - _APP_DB_PASS_VECTORSDB - _APP_USAGE_STATS - _APP_LOGGING_CONFIG - _APP_LOGGING_CONFIG_REALTIME @@ -492,12 +492,12 @@ services: - _APP_DB_SCHEMA - _APP_DB_USER - _APP_DB_PASS - - _APP_DB_ADAPTER_VECTORSDBS - - _APP_DB_HOST_VECTORSDBS - - _APP_DB_PORT_VECTORSDBS - - _APP_DB_SCHEMA_VECTORSDBS - - _APP_DB_USER_VECTORSDBS - - _APP_DB_PASS_VECTORSDBS + - _APP_DB_ADAPTER_VECTORSDB + - _APP_DB_HOST_VECTORSDB + - _APP_DB_PORT_VECTORSDB + - _APP_DB_SCHEMA_VECTORSDB + - _APP_DB_USER_VECTORSDB + - _APP_DB_PASS_VECTORSDB - _APP_LOGGING_CONFIG - _APP_WORKERS_NUM - _APP_QUEUE_NAME diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Action.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Action.php index b048d5b384..b2417871ed 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Action.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Action.php @@ -26,7 +26,7 @@ class Action extends AppwriteAction $this->context = DATABASE_TYPE_DOCUMENTSDB; } if (\str_contains($path, '/vectorsdb')) { - $this->context = DATABASE_TYPE_VECTORSDBS; + $this->context = DATABASE_TYPE_VECTORSDB; } return parent::setHttpPath($path); } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Action.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Action.php index 4ffddf5258..0bd4a2e080 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Action.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Action.php @@ -31,7 +31,7 @@ abstract class Action extends DatabasesAction } elseif (str_contains($path, '/documentsdb/')) { $this->databaseType = DATABASE_TYPE_DOCUMENTSDB; } elseif (str_contains($path, '/vectorsdb/')) { - $this->databaseType = DATABASE_TYPE_VECTORSDBS; + $this->databaseType = DATABASE_TYPE_VECTORSDB; } $contextId = '$' . $this->getCollectionsEventsContext() . 'Id'; diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Create.php index 6815522f44..39761173c1 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Create.php @@ -63,11 +63,11 @@ class Create extends Action break; case VECTORSDB: $databases = Config::getParam('pools-vectorsdb', []); - $databaseKeys = System::getEnv('_APP_DATABASE_VECTORSDBS_KEYS', ''); - $databaseOverride = System::getEnv('_APP_DATABASE_VECTORSDBS_OVERRIDE'); - $dbScheme = System::getEnv('_APP_DB_HOST_VECTORSDBS', 'postgresql'); - $sharedTables = \explode(',', System::getEnv('_APP_DATABASE_VECTORSDBS_SHARED_TABLES', '')); - $sharedTablesV1 = \explode(',', System::getEnv('_APP_DATABASE_VECTORSDBS_SHARED_TABLES_V1', '')); + $databaseKeys = System::getEnv('_APP_DATABASE_VECTORSDB_KEYS', ''); + $databaseOverride = System::getEnv('_APP_DATABASE_VECTORSDB_OVERRIDE'); + $dbScheme = System::getEnv('_APP_DB_HOST_VECTORSDB', 'postgresql'); + $sharedTables = \explode(',', System::getEnv('_APP_DATABASE_VECTORSDB_SHARED_TABLES', '')); + $sharedTablesV1 = \explode(',', System::getEnv('_APP_DATABASE_VECTORSDB_SHARED_TABLES_V1', '')); break; default: // legacy/tablesdb diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Update.php index 0d7e89f72f..d2f7124aa1 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Update.php @@ -169,7 +169,7 @@ class Update extends Action $databaseDoc = null; switch ($this->getDatabaseType()) { case DATABASE_TYPE_DOCUMENTSDB: - case DATABASE_TYPE_VECTORSDBS: + case DATABASE_TYPE_VECTORSDB: $databaseDoc = $authorization->skip(fn () => $dbForProject->findOne('databases', [ Query::equal('$sequence', [$firstOperation['databaseInternalId']]) ])); diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Usage/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Usage/Get.php index e22bec125f..18e6fd7a8b 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Usage/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Usage/Get.php @@ -32,7 +32,7 @@ class Get extends Action { $this->databaseType = match (true) { str_contains($path, '/documentsdb') => DATABASE_TYPE_DOCUMENTSDB, - str_contains($path, '/vectorsdb') => DATABASE_TYPE_VECTORSDBS, + str_contains($path, '/vectorsdb') => DATABASE_TYPE_VECTORSDB, default => DATABASE_TYPE_LEGACY, }; diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Usage/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Usage/XList.php index b525e606aa..b8cb774a3e 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Usage/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Usage/XList.php @@ -30,7 +30,7 @@ class XList extends Action { $this->databaseType = match (true) { str_contains($path, '/documentsdb') => DATABASE_TYPE_DOCUMENTSDB, - str_contains($path, '/vectorsdb') => DATABASE_TYPE_VECTORSDBS, + str_contains($path, '/vectorsdb') => DATABASE_TYPE_VECTORSDB, default => DATABASE_TYPE_LEGACY, }; diff --git a/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Collections/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Collections/Create.php index 1b65912366..b85a8b30b4 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Collections/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Collections/Create.php @@ -37,7 +37,7 @@ class Create extends CollectionAction protected function getResponseModel(): string { - return UtopiaResponse::MODEL_VECTORSDBS_COLLECTION; + return UtopiaResponse::MODEL_VECTORSDB_COLLECTION; } public function __construct() diff --git a/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Collections/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Collections/Delete.php index 61ceadd640..f1188868aa 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Collections/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Collections/Delete.php @@ -20,7 +20,7 @@ class Delete extends CollectionDelete protected function getResponseModel(): string { - return UtopiaResponse::MODEL_VECTORSDBS_COLLECTION; + return UtopiaResponse::MODEL_VECTORSDB_COLLECTION; } public function __construct() diff --git a/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Collections/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Collections/Get.php index 257acedc18..9619bb5048 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Collections/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Collections/Get.php @@ -20,7 +20,7 @@ class Get extends CollectionGet protected function getResponseModel(): string { - return UtopiaResponse::MODEL_VECTORSDBS_COLLECTION; + return UtopiaResponse::MODEL_VECTORSDB_COLLECTION; } public function __construct() diff --git a/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Collections/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Collections/Update.php index 05ad9535a5..2ec5f8991f 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Collections/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Collections/Update.php @@ -29,7 +29,7 @@ class Update extends CollectionAction protected function getResponseModel(): string { - return UtopiaResponse::MODEL_VECTORSDBS_COLLECTION; + return UtopiaResponse::MODEL_VECTORSDB_COLLECTION; } public function __construct() @@ -53,7 +53,7 @@ class Update extends CollectionAction responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, - model: UtopiaResponse::MODEL_VECTORSDBS_COLLECTION, + model: UtopiaResponse::MODEL_VECTORSDB_COLLECTION, ) ], contentType: ContentType::JSON diff --git a/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Collections/Usage/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Collections/Usage/Get.php index 951280aac1..7e0f79a9f1 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Collections/Usage/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Collections/Usage/Get.php @@ -26,7 +26,7 @@ class Get extends CollectionUsageGet protected function getMetric(): string { - return METRIC_DATABASE_ID_COLLECTION_ID_DOCUMENTS_VECTORSDBS; + return METRIC_DATABASE_ID_COLLECTION_ID_DOCUMENTS_VECTORSDB; } public function __construct() diff --git a/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Collections/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Collections/XList.php index 93a20452bd..7ba26b8b6a 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Collections/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Collections/XList.php @@ -23,7 +23,7 @@ class XList extends CollectionXList protected function getResponseModel(): string { - return UtopiaResponse::MODEL_VECTORSDBS_COLLECTION_LIST; + return UtopiaResponse::MODEL_VECTORSDB_COLLECTION_LIST; } public function __construct() diff --git a/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Usage/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Usage/Get.php index ac9e85c530..051e2e39fa 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Usage/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Usage/Get.php @@ -21,7 +21,7 @@ class Get extends DatabaseUsageGet public function getResponseModel(): string { - return UtopiaResponse::MODEL_USAGE_VECTORSDBS; + return UtopiaResponse::MODEL_USAGE_VECTORSDB; } public function __construct() @@ -43,7 +43,7 @@ class Get extends DatabaseUsageGet responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, - model: UtopiaResponse::MODEL_USAGE_VECTORSDBS, + model: UtopiaResponse::MODEL_USAGE_VECTORSDB, ) ], contentType: ContentType::JSON, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Usage/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Usage/XList.php index 4a81053078..d91a5963c4 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Usage/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/VectorsDB/Usage/XList.php @@ -20,7 +20,7 @@ class XList extends DatabaseUsageXList public function getResponseModel(): string { - return UtopiaResponse::MODEL_USAGE_VECTORSDBSS; + return UtopiaResponse::MODEL_USAGE_VECTORSDBS; } public function __construct() @@ -42,7 +42,7 @@ class XList extends DatabaseUsageXList responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, - model: UtopiaResponse::MODEL_USAGE_VECTORSDBSS, + model: UtopiaResponse::MODEL_USAGE_VECTORSDBS, ) ], contentType: ContentType::JSON diff --git a/src/Appwrite/Platform/Workers/Deletes.php b/src/Appwrite/Platform/Workers/Deletes.php index 69f641beee..67916427ad 100644 --- a/src/Appwrite/Platform/Workers/Deletes.php +++ b/src/Appwrite/Platform/Workers/Deletes.php @@ -565,7 +565,7 @@ class Deletes extends Action 'database' => $document->getAttribute('database') ]), ...$dbForProject->find('databases', [ - Query::equal('type', [DATABASE_TYPE_DOCUMENTSDB, DATABASE_TYPE_VECTORSDBS]), + Query::equal('type', [DATABASE_TYPE_DOCUMENTSDB, DATABASE_TYPE_VECTORSDB]), Query::limit(5000), ]), ]; diff --git a/src/Appwrite/Platform/Workers/Migrations.php b/src/Appwrite/Platform/Workers/Migrations.php index 81a0c9ce22..800ef31c19 100644 --- a/src/Appwrite/Platform/Workers/Migrations.php +++ b/src/Appwrite/Platform/Workers/Migrations.php @@ -323,8 +323,8 @@ class Migrations extends Action METRIC_DATABASES_OPERATIONS_WRITES, METRIC_DATABASES_OPERATIONS_READS_DOCUMENTSDB, METRIC_DATABASES_OPERATIONS_WRITES_DOCUMENTSDB, - METRIC_DATABASES_OPERATIONS_READS_VECTORSDBS, - METRIC_DATABASES_OPERATIONS_WRITES_VECTORSDBS, + METRIC_DATABASES_OPERATIONS_READS_VECTORSDB, + METRIC_DATABASES_OPERATIONS_WRITES_VECTORSDB, METRIC_NETWORK_REQUESTS, METRIC_NETWORK_INBOUND, METRIC_NETWORK_OUTBOUND, diff --git a/src/Appwrite/Platform/Workers/StatsResources.php b/src/Appwrite/Platform/Workers/StatsResources.php index fa0cbf27bd..4a7a367f0a 100644 --- a/src/Appwrite/Platform/Workers/StatsResources.php +++ b/src/Appwrite/Platform/Workers/StatsResources.php @@ -112,7 +112,7 @@ class StatsResources extends Action $databases = $dbForProject->count('databases', [Query::equal('type', [DATABASE_TYPE_LEGACY, DATABASE_TYPE_TABLESDB])]); $documentsdb = $dbForProject->count('databases', [Query::equal('type', [DATABASE_TYPE_DOCUMENTSDB])]); - $vectorsdb = $dbForProject->count('databases', [Query::equal('type', [DATABASE_TYPE_VECTORSDBS])]); + $vectorsdb = $dbForProject->count('databases', [Query::equal('type', [DATABASE_TYPE_VECTORSDB])]); $buckets = $dbForProject->count('buckets'); $users = $dbForProject->count('users'); @@ -148,7 +148,7 @@ class StatsResources extends Action $metrics = [ METRIC_DATABASES => $databases, METRIC_DATABASES_DOCUMENTSDB => $documentsdb, - METRIC_DATABASES_VECTORSDBS => $vectorsdb, + METRIC_DATABASES_VECTORSDB => $vectorsdb, METRIC_BUCKETS => $buckets, METRIC_USERS => $users, METRIC_FUNCTIONS => $functions, @@ -282,7 +282,7 @@ class StatsResources extends Action $totalDocumentsDocumentsdb += $documents; $totalCollectionsDocumentsdb += $collections; break; - case DATABASE_TYPE_VECTORSDBS: + case DATABASE_TYPE_VECTORSDB: $totalDatabaseStorageVectordb += $storage; $totalDocumentsVectordb += $documents; $totalCollectionsVectordb += $collections; @@ -302,9 +302,9 @@ class StatsResources extends Action $this->createStatsDocuments($region, METRIC_DOCUMENTS_DOCUMENTSDB, $totalDocumentsDocumentsdb); $this->createStatsDocuments($region, METRIC_DATABASES_STORAGE_DOCUMENTSDB, $totalDatabaseStorageDocumentsdb); - $this->createStatsDocuments($region, METRIC_COLLECTIONS_VECTORSDBS, $totalCollectionsVectordb); - $this->createStatsDocuments($region, METRIC_DOCUMENTS_VECTORSDBS, $totalDocumentsVectordb); - $this->createStatsDocuments($region, METRIC_DATABASES_STORAGE_VECTORSDBS, $totalDatabaseStorageVectordb); + $this->createStatsDocuments($region, METRIC_COLLECTIONS_VECTORSDB, $totalCollectionsVectordb); + $this->createStatsDocuments($region, METRIC_DOCUMENTS_VECTORSDB, $totalDocumentsVectordb); + $this->createStatsDocuments($region, METRIC_DATABASES_STORAGE_VECTORSDB, $totalDatabaseStorageVectordb); } protected function countForCollections(Database $dbForProject, Database $dbForDatabases, Document $database, string $region): array { diff --git a/src/Appwrite/Platform/Workers/StatsUsage.php b/src/Appwrite/Platform/Workers/StatsUsage.php index 987c6abd6e..305ba3f8fa 100644 --- a/src/Appwrite/Platform/Workers/StatsUsage.php +++ b/src/Appwrite/Platform/Workers/StatsUsage.php @@ -48,7 +48,7 @@ class StatsUsage extends Action protected array $skipBaseMetrics = [ METRIC_DATABASES => true, METRIC_DATABASES_DOCUMENTSDB => true, - METRIC_DATABASES_VECTORSDBS => true, + METRIC_DATABASES_VECTORSDB => true, METRIC_BUCKETS => true, METRIC_USERS => true, METRIC_FUNCTIONS => true, @@ -70,11 +70,11 @@ class StatsUsage extends Action METRIC_DOCUMENTS => true, METRIC_COLLECTIONS_DOCUMENTSDB => true, METRIC_DOCUMENTS_DOCUMENTSDB => true, - METRIC_COLLECTIONS_VECTORSDBS => true, - METRIC_DOCUMENTS_VECTORSDBS => true, + METRIC_COLLECTIONS_VECTORSDB => true, + METRIC_DOCUMENTS_VECTORSDB => true, METRIC_DATABASES_STORAGE => true, METRIC_DATABASES_STORAGE_DOCUMENTSDB => true, - METRIC_DATABASES_STORAGE_VECTORSDBS => true, + METRIC_DATABASES_STORAGE_VECTORSDB => true, ]; /** diff --git a/src/Appwrite/Utopia/Response.php b/src/Appwrite/Utopia/Response.php index cd434ce438..c2fc520da3 100644 --- a/src/Appwrite/Utopia/Response.php +++ b/src/Appwrite/Utopia/Response.php @@ -34,8 +34,8 @@ class Response extends SwooleResponse public const MODEL_USAGE_DATABASE = 'usageDatabase'; public const MODEL_USAGE_DOCUMENTSDBS = 'usageDocumentsDBs'; public const MODEL_USAGE_DOCUMENTSDB = 'usageDocumentsDB'; - public const MODEL_USAGE_VECTORSDBSS = 'usageVectorsDBs'; - public const MODEL_USAGE_VECTORSDBS = 'usageVectorsDB'; + public const MODEL_USAGE_VECTORSDBS = 'usageVectorsDBs'; + public const MODEL_USAGE_VECTORSDB = 'usageVectorsDB'; public const MODEL_USAGE_TABLE = 'usageTable'; public const MODEL_USAGE_COLLECTION = 'usageCollection'; public const MODEL_USAGE_USERS = 'usageUsers'; @@ -52,8 +52,8 @@ class Response extends SwooleResponse public const MODEL_DATABASE_LIST = 'databaseList'; public const MODEL_COLLECTION = 'collection'; public const MODEL_COLLECTION_LIST = 'collectionList'; - public const MODEL_VECTORSDBS_COLLECTION = 'vectorsdbCollection'; - public const MODEL_VECTORSDBS_COLLECTION_LIST = 'vectorsdbCollectionList'; + public const MODEL_VECTORSDB_COLLECTION = 'vectorsdbCollection'; + public const MODEL_VECTORSDB_COLLECTION_LIST = 'vectorsdbCollectionList'; public const MODEL_EMBEDDING = 'embedding'; public const MODEL_EMBEDDING_LIST = 'embeddingList'; public const MODEL_TABLE = 'table'; diff --git a/src/Appwrite/Utopia/Response/Model/UsageVectorsDB.php b/src/Appwrite/Utopia/Response/Model/UsageVectorsDB.php index d1cb5b047c..c652a3d62e 100644 --- a/src/Appwrite/Utopia/Response/Model/UsageVectorsDB.php +++ b/src/Appwrite/Utopia/Response/Model/UsageVectorsDB.php @@ -91,6 +91,6 @@ class UsageVectorsDB extends Model public function getType(): string { - return Response::MODEL_USAGE_VECTORSDBS; + return Response::MODEL_USAGE_VECTORSDB; } } diff --git a/src/Appwrite/Utopia/Response/Model/UsageVectorsDBs.php b/src/Appwrite/Utopia/Response/Model/UsageVectorsDBs.php index b6e926993c..1bd0afc9e2 100644 --- a/src/Appwrite/Utopia/Response/Model/UsageVectorsDBs.php +++ b/src/Appwrite/Utopia/Response/Model/UsageVectorsDBs.php @@ -104,6 +104,6 @@ class UsageVectorsDBs extends Model public function getType(): string { - return Response::MODEL_USAGE_VECTORSDBSS; + return Response::MODEL_USAGE_VECTORSDB; } } diff --git a/src/Appwrite/Utopia/Response/Model/VectorsDBCollection.php b/src/Appwrite/Utopia/Response/Model/VectorsDBCollection.php index 002cf2aff9..5053628e74 100644 --- a/src/Appwrite/Utopia/Response/Model/VectorsDBCollection.php +++ b/src/Appwrite/Utopia/Response/Model/VectorsDBCollection.php @@ -36,6 +36,6 @@ class VectorsDBCollection extends Collection public function getType(): string { - return Response::MODEL_VECTORSDBS_COLLECTION; + return Response::MODEL_VECTORSDB_COLLECTION; } }