All Projects → vdaas → Vald

vdaas / Vald

Licence: apache-2.0
Vald. A Highly Scalable Distributed Vector Search Engine

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Vald

Micro
Micro is a distributed cloud operating system
Stars: ✭ 10,778 (+6721.52%)
Mutual labels:  microservices, cloud, cloud-native, distributed-systems
Cloudi
A Cloud at the lowest level!
Stars: ✭ 352 (+122.78%)
Mutual labels:  microservices, cloud, distributed-systems
Milvus
An open-source vector database for embedding similarity search and AI applications.
Stars: ✭ 9,015 (+5605.7%)
Mutual labels:  vector, nearest-neighbor-search, cloud-native
Akka
Build highly concurrent, distributed, and resilient message-driven applications on the JVM
Stars: ✭ 11,938 (+7455.7%)
Mutual labels:  cloud-native, distributed-systems, high-performance
Service Fabric
Service Fabric is a distributed systems platform for packaging, deploying, and managing stateless and stateful distributed applications and containers at large scale.
Stars: ✭ 2,874 (+1718.99%)
Mutual labels:  microservices, cloud-native, distributed-systems
Genie
Distributed Big Data Orchestration Service
Stars: ✭ 1,544 (+877.22%)
Mutual labels:  microservices, cloud, distributed-systems
Kubevious
Kubevious - application centric Kubernetes UI and continuous assurance provider
Stars: ✭ 869 (+450%)
Mutual labels:  microservices, cloud, cloud-native
Nats Server
High-Performance server for NATS.io, the cloud and edge native messaging system.
Stars: ✭ 10,223 (+6370.25%)
Mutual labels:  cloud, cloud-native, distributed-systems
Gnes
GNES is Generic Neural Elastic Search, a cloud-native semantic search system based on deep neural network.
Stars: ✭ 1,178 (+645.57%)
Mutual labels:  microservices, cloud-native, distributed-systems
Nff Go
NFF-Go -Network Function Framework for GO (former YANFF)
Stars: ✭ 1,036 (+555.7%)
Mutual labels:  microservices, cloud, cloud-native
Awesome Scalability Toolbox
My opinionated list of products and tools used for high-scalability projects
Stars: ✭ 34 (-78.48%)
Mutual labels:  cloud, distributed-systems, high-performance
Porcupine
Threading, Resiliency and Monitoring for Java EE 7/8
Stars: ✭ 99 (-37.34%)
Mutual labels:  microservices, cloud, cloud-native
Dasync
Every developer deserves the right of creating microservices without using any framework 🤍
Stars: ✭ 154 (-2.53%)
Mutual labels:  microservices, cloud, distributed-systems
Apisix Docker
the docker for Apache APISIX
Stars: ✭ 119 (-24.68%)
Mutual labels:  microservices, cloud-native
Mangle
Git Repository for the Mangle tool
Stars: ✭ 125 (-20.89%)
Mutual labels:  cloud-native, distributed-systems
Dubbo Go Pixiu
Based on the proxy gateway service of dubbo-go, it solves the problem that the external protocol calls the internal Dubbo cluster. At present, it supports HTTP and gRPC[developing].
Stars: ✭ 124 (-21.52%)
Mutual labels:  microservices, cloud-native
Spring Cloud Sleuth
Distributed tracing for spring cloud
Stars: ✭ 1,531 (+868.99%)
Mutual labels:  microservices, cloud-native
Litmus
Litmus helps SREs and developers practice chaos engineering in a Cloud-native way. Chaos experiments are published at the ChaosHub (https://hub.litmuschaos.io). Community notes is at https://hackmd.io/a4Zu_sH4TZGeih-xCimi3Q
Stars: ✭ 2,377 (+1404.43%)
Mutual labels:  microservices, cloud-native
Phantoscope
Open Source, Cloud Native, RESTful Search Engine Powered by Neural Networks
Stars: ✭ 127 (-19.62%)
Mutual labels:  microservices, cloud-native
Dotnet Istanbul Microservices Demo
This is the demo application that i created for my talk 'Microservice Architecture & Implementation with Asp.Net Core' at Dotnet İstanbul Meetup Group.
Stars: ✭ 109 (-31.01%)
Mutual labels:  microservices, distributed-systems

License: Apache 2.0 release Go Reference Codacy Badge Go Report Card DepShield Badge FOSSA Status DeepSource CLA Artifact Hub Slack Twitter

What is Vald?

Vald is a highly scalable distributed fast approximate nearest neighbor dense vector search engine.

Vald is designed and implemented based on Cloud-Native architecture.

It uses the fastest ANN Algorithm NGT to search neighbors.

Vald has automatic vector indexing and index backup, and horizontal scaling which made for searching from billions of feature vector data.

Vald is easy to use, feature-rich and highly customizable as you needed.

Go to Get Started page to try out Vald :)

(If you are interested in ANN benchmarks, please refer to the official website.)

Main Features

  • Asynchronous Auto Indexing

    • Usually the graph requires locking during indexing, which causes stop-the-world. But Vald uses distributed index graphs so it continues to work during indexing.
  • Customizable Ingress/Egress Filtering

    • Vald implements it's own highly customizable Ingress/Egress filter.
    • Which can be configured to fit the gRPC interface.
      • Ingress Filter: Ability to Vectorize through filter on request.
      • Egress Filter: rerank or filter the searching result with your own algorithm.
  • Cloud-native based vector searching engine

    • Horizontal scalable on memory and CPU for your demand.
  • Auto Backup for Index data

    • Vald has a feature to store the backup of the index data using MySQL or Cassandra which enables disaster recovery.
  • Distributed Indexing

    • Vald distribute vector index to multiple agents, each agent stores different index.
  • Index Replication

    • Vald stores each index in multiple agents which enables index replicas.
    • Automatically rebalance the replica when some Vald agent goes down.
  • Easy to use

    • Vald can be easily installed in a few steps.
  • Highly customizable

    • You can configure the number of vector dimensions, the number of replica and etc.
  • Multi language supported

    • Go, Java, Clojure, Node.js, and Python client library are supported.
    • gRPC APIs can be triggered by any programming languages which support gRPC.
    • REST API is also supported.```

Requirements

  • Kubernetes 1.17~
  • AVX2 instructions (required by Vald Agent NGT)

Get Started

Please refer to Get Started.

Installation

Using Helm

helm repo add vald https://vald.vdaas.org/charts
helm install vald-cluster vald/vald

If you use the default values.yaml, the nightly images will be installed.

Docker image tagging policy

  • nightly ... latest build of master branch
  • vX.X.X ... released versions
  • latest ... latest build of release versions
  • stable ... latest long-term supported version

Using Helm-operator

vald-helm-operator

Example

Write example here

Architecture Overview

Please refer here for more details of the architecture overview in the future.

Development

Before your first commit to this repository, it is strongly recommended to run the commands below.

make init

Components

Component Docker image
Agent NGT
Agent Sidecar
Discoverer
Gateways






Backup Managers


Compressor
Metas


Index Manager
Helm Operator

Contribution

Please read the contribution guide

Contributors

All Contributors

Thanks goes to these wonderful people (emoji key):


Yusuke Kato

💻 🤔 🚧 📆

Rintaro Okamura

💻 📖 🚧 📦

Kosuke Morimoto

💻 💡 🔧 ⚠️

Kiichiro YUKAWA

📖 🚧 ⚠️

datelier

💻 🤔

Kevin Diu

📖 💡 ⚠️

Hiroto Funakoshi

📖 🔧 ⚠️

taisho

🎨 📖 💡

Pierre Grimaud

📖

LICENSE

vald released under Apache 2.0 license, refer LICENSE file.

FOSSA Status

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].