{question}
What are the DDL and DML endpoints? Why do I not have a DML endpoint?
{question}
{answer}
The DDL and DML endpoints are what they seem: they provide endpoints (connection points to the cluster) that you can access from a SingleStore compliant client to run queries against your cluster.
- From the DDL endpoint, you can run DDL commands such as CREATE DATABASE (you can also run DML commands).
- From the DML endpoint, you can run both DDL commands and DML commands such as INSERT and CREATE DATABASE (most DDL commands are routed to the MA).
This is provided to help balance the load against the cluster and to prevent locks as much as possible.
If you do not have a DML endpoint, it is likely because your AggregatorSpec only specifies a count of 1 aggregator.
When you only create one aggregator in our Kubernetes Operator (which will be the master aggregator), then you will only have a DDL endpoint as there is only one aggregator to provide an output, and that is the MA (which allows DDL commands).
To add a DML endpoint, you will need to up your aggregator count to 2 or more in your memsql-cluster.yaml and apply those changes to the cluster.
More about this within our documentation.
{answer}