{"id":34786209,"url":"https://github.com/dingodb/dingo-deploy","last_synced_at":"2025-12-25T09:19:08.930Z","repository":{"id":42773480,"uuid":"457668896","full_name":"dingodb/dingo-deploy","owner":"dingodb","description":"Deployment about DingoDB cluster","archived":false,"fork":false,"pushed_at":"2025-11-11T11:34:12.000Z","size":3720,"stargazers_count":58,"open_issues_count":0,"forks_count":25,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-11-11T13:18:20.967Z","etag":null,"topics":["ansible","distributed-systems","docker-compose"],"latest_commit_sha":null,"homepage":"","language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dingodb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-02-10T07:10:05.000Z","updated_at":"2025-11-11T11:34:17.000Z","dependencies_parsed_at":"2023-12-28T03:23:05.054Z","dependency_job_id":"fa461870-7ff3-4878-8f59-f1c39cea1919","html_url":"https://github.com/dingodb/dingo-deploy","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/dingodb/dingo-deploy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dingodb%2Fdingo-deploy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dingodb%2Fdingo-deploy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dingodb%2Fdingo-deploy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dingodb%2Fdingo-deploy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dingodb","download_url":"https://codeload.github.com/dingodb/dingo-deploy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dingodb%2Fdingo-deploy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28025503,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-25T02:00:05.988Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","distributed-systems","docker-compose"],"created_at":"2025-12-25T09:19:04.580Z","updated_at":"2025-12-25T09:19:08.919Z","avatar_url":"https://github.com/dingodb.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Deployment of DingoDB\n[DingoDB](https://github.com/dingodb/dingo) is a distributed multi-modal vector database that combines the characteristics of data lakes and vector databases and can store data of any type and size (Key-Value, PDF, audio, video, etc.). It has real-time low-latency processing capabilities, enables rapid insight and response, and can efficiently perform instant analysis and process multi-modal data.\nIn order to simplify the deployment, this project introduces the deployment of DingoDB using [ansible](https://www.ansible.com/).\n\n## 1. Cluster Mode\n\n----\n\n![Physical Topology about DingoDB](./refer/cluster_topology.png)\n\nThe roles in the cluster are mainly divided into:\n\n- Coordinator\n\nCoordinator act as the master of the cluster. It is responsible for the management and scheduler of data replications of DingoDB cluster.\n\n- Store\n  \nStore act as the storage of the cluster,  It is responsible for managing the entire storage.\n\n- Index\n  \nIndex is a specialized version of Dingo-Store. It not only offers distributed data storage capabilities but also ensures real-time construction of high-dimensional vector data and its indexing. It provides extensive search capabilities in high-dimensional spaces. The system supports vector index formats such as HNSW and IVF.\n\n- Executor\n\nExecutor act as the worker of the cluster. It is responsible for executing the physical execution plan of  SQL to scan and compute the data.\n\n- Proxy\n\nProxy provides a bridge for index operations, and provides http and grpc interfaces for use by pythonSDK\n\n- Driver-MySQL/Driver-DIngo\n\nDingoDB uses JDBC driver to perform table-level data operations, such as create, insert, update, delete, etc. Driver Proxy act as the proxy of JDBC Connection.\n### 1.1 Installation prerequisites\n\n- Version of OS\n\nCentOS 8.x.\n\n- Repository of Yum works fine\n\nThe repository will be used to install basic tools needed by the cluster, such as `python3`.\n\n- Ansible Host\n\nA host installed with `ansible` is required to  distribute cluster configuration and related software modules about DingoDB. This machine can also be replaced by one node in DingoDB cluster such as `Store-1` or `Coordinator-1`.\n\n### 1.2 Deployment Guidelines\n\nIn the cluster mode, `ansible` is selected as the deployment tools. You can use this guide to install a DingoDB cluster.\n\n\n### 1.2.1 Install Steps\n\nYou can follow this guide to install a dingo cluster:\n\n[![asciicast](https://asciinema.org/a/QGKWzvTp4b2nt8pmdjauDewIh.svg)](https://asciinema.org/a/QGKWzvTp4b2nt8pmdjauDewIh)\n\n### 1.2.2 Installation Notes\n\n#### 1. define cluster configuration\n\nEdit the configuration `inventory/hosts`, use the real host, user, password to replace the item.\n\n```cfg\n[all:vars]\nansible_connection=ssh\n#ansible_ssh_user=root\n#ansible_ssh_pass=Password@123\nansible_python_interpreter=/usr/bin/python3\n\n[scaling_in_dingo:children]\nadd_coordinator\nadd_store\n\n[coordinator]\n172.20.3.201 \n172.20.3.200\n172.20.3.202\n\n[store]\n# 172.20.3.201\n# 172.20.3.201 store_num=2 \n# 172.20.3.201 store_num=2 disk='/home/sd1 /home/sd2'\n172.20.3.201\n172.20.3.200 \n172.20.3.202\n\n[index]\n# 172.20.3.201 index_num=2 disk='/home/sd1 /home/sd2'\n172.20.3.201\n172.20.3.200 \n172.20.3.202\n\n[all_nodes:children]\ncoordinator\nstore\nindex\n\n[executor]\n172.20.3.201\n172.20.3.200\n172.20.3.202\n\n[proxy]\n172.20.3.201\n\n[executor_nodes:children]\nexecutor\nproxy\n\n```\n\n#### 2. Check Python3 is installed\n\nCheck Python3 is installed or not on DingoDB cluster, if `Python3` is not installed, We can use ansible to install `Python3` using such command.\n\n```shell\nansible all_nodes --become -m raw -a \"yum install -y python3\" -i ansible_hosts\n```\n\n#### 3. Start to install\n\n- Copy artifacts\n\n```\n1. artifacts/jdk-8u171-linux-x64.tar.gz\n2. artifacts/dingo.zip\n3. artifacts/dingo-store.tar.gz\n```\n\n- merge dingo.zip and dingo-store.tar.gz to dingo.tar.gz\n\n```shell\n cd artifacts\n bash merge_dingo.sh\n```\n\n- check whether there are ports in use in the nodes, and if so, modify the port configuration in Configuration `group_vars/all/_shared.yml`\n\n```shell\nansible-playbook playbooks/02_1_check_ports.yml -e \"check_port_conflicts=true\" \n```\n\n- Executor ansible script\n\n```shell\n ansible-playbook playbook.yml\n```\n\n## 2. Docker compose mode\n\n----\n\n\u003e Due to the network firewall, for the convenience of developers, DingoDB team no longer provide a unified GitHub docker repository.\n\n### 2.1 Installation prerequisites\n\n- docker\n- docker-compose\n\n### 2.2 Install Steps\n\n[![asciicast](https://asciinema.org/a/Wif9vRWXLnAvDkemXMuyShx5H.svg)](https://asciinema.org/a/Wif9vRWXLnAvDkemXMuyShx5H)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdingodb%2Fdingo-deploy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdingodb%2Fdingo-deploy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdingodb%2Fdingo-deploy/lists"}