{"id":18576050,"url":"https://github.com/zacksff/temposcale-distributed-infrastructure-for-time-series-data","last_synced_at":"2025-05-16T00:34:41.009Z","repository":{"id":235102420,"uuid":"764593609","full_name":"zacksfF/TempoScale-Distributed-Infrastructure-for-Time-Series-Data","owner":"zacksfF","description":"TempoScale is an innovative distributed infrastructure designed to efficiently store, manage, and query large volumes of time-series data. 🚕","archived":false,"fork":false,"pushed_at":"2024-06-08T21:14:43.000Z","size":126,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-26T08:08:10.478Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","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/zacksfF.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}},"created_at":"2024-02-28T11:10:21.000Z","updated_at":"2024-06-08T21:14:46.000Z","dependencies_parsed_at":"2024-06-08T22:27:55.538Z","dependency_job_id":"2dd504af-7554-41b2-9ad5-c04619c06920","html_url":"https://github.com/zacksfF/TempoScale-Distributed-Infrastructure-for-Time-Series-Data","commit_stats":null,"previous_names":["zacksff/multi-region-disaster-recovery-for-a-microservices-application","zacksff/temposcale-distributed-infrastructure-for-time-series-data"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zacksfF%2FTempoScale-Distributed-Infrastructure-for-Time-Series-Data","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zacksfF%2FTempoScale-Distributed-Infrastructure-for-Time-Series-Data/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zacksfF%2FTempoScale-Distributed-Infrastructure-for-Time-Series-Data/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zacksfF%2FTempoScale-Distributed-Infrastructure-for-Time-Series-Data/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zacksfF","download_url":"https://codeload.github.com/zacksfF/TempoScale-Distributed-Infrastructure-for-Time-Series-Data/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254447826,"owners_count":22072754,"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","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":[],"created_at":"2024-11-06T23:23:22.656Z","updated_at":"2025-05-16T00:34:40.975Z","avatar_url":"https://github.com/zacksfF.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"``Still Working on Not fixing``\n# TempoScale: Distributed Infrastructure for Time-Series Data\n\n## Description \nTempoScale is an innovative distributed infrastructure designed to efficiently store, manage, and query large volumes of time-series data. With the proliferation of IoT devices, financial transactions, and continuous logging systems, the demand for robust and scalable time-series data storage solutions has never been higher. TempoScale addresses this need by providing a high-performance, fault-tolerant, and scalable platform specifically optimized for time-series data.\n## Define The business problems\nTempoScale tackles key challenges in time-series data management. Traditional databases struggle with high data volumes and performance bottlenecks, which TempoScale solves with a scalable, distributed architecture. It enables fast data retrieval through advanced indexing and compression, ensuring real-time insights. Data integrity and reliability are maintained via replication and consistent storage mechanisms.\n\nTempoScale simplifies complex infrastructure management with automated deployment using Docker and Kubernetes. Robust APIs and client libraries ensure seamless integration with existing systems. Efficient storage techniques reduce costs, while integration with Prometheus and Grafana enhances monitoring and performance visibility. Security is bolstered through encryption and access control, ensuring data protection and regulatory compliance. Automation minimizes operational inefficiencies, and customizable configurations allow tailored data management solutions.\n\nIn summary, TempoScale offers a high-performance, reliable, and scalable platform for managing large-scale time-series data, reducing operational complexity and costs while improving security and observability.\n## Query data\n```\n-- query table data\nSELECT citus_set_coordinator_host('citus_coordinator', 5432);\n```\n```\npublic ❯ -- query table data\nSELECT * FROM air;\n+---------------------+------------+------------+-------------+----------+\n| time                | station    | visibility | temperature | pressure |\n+---------------------+------------+------------+-------------+----------+\n| 2023-01-11T06:40:00 | XiaoMaiDao | 55         | 68          | 76       |\n| 2023-01-13T06:33:17 | XiaoMaiDao | 56         | 69          | 77       |\n| 2023-01-11T07:40:00 | DaMaiDao   | 65         | 68          | 76       |\n+---------------------+------------+------------+-------------+----------+\nQuery took 0.036 seconds.\n```\n``\nProbably U come to run any example it will be show you like this \nOutput \n\n![alt text](Screen%20Shot%202024-06-08%20at%2021.15.02.png)\n\n\n## Setting Up\n\u003c\u003c\u003c\u003c\u003c\u003c\u003c HEAD\n=======\n\n1. Clone the repository:\n   ```sh\n   git clone https://github.com/zacksfF/TempoScale-Distributed-Infrastructure-for-Time-Series-Data.git\n   cd TempoScale-Distributed-Infrastructure-for-Time-Series-Data\n   ```\n\n2. Start the development environment:\n   ```sh\n   docker-compose -p temposcale -f dev.docker-compose.yml up\n   ```\n\n3. Access the application shell:\n   ```sh\n   docker exec -it temposcale /bin/sh\n   ```\n\n4. Access the PostgreSQL console:\n   ```sh\n   docker exec -it temposcale_citus_coordinator psql -U golang -d temposcale_db\n   ```\n\n## Deployment\n\nBuild and deploy the Docker image:\n```sh\ndocker build -f Dockerfile -t zacksfF/temposcale:latest --platform linux/amd64 .\ndocker tag zacksfF/temposcale:latest bartmika/temposcale:latest\ndocker push zacksfF/temposcale:latest\n```\n\n## Vulnerability Scanning\n\nPerform a vulnerability scan on the Go project and Docker image:\n```sh\ngovulncheck ./...\ntrivy image zacksfF/temposcale:latest\ntrivy repo github.com/zacksfF/TempoScale-Distributed-Infrastructure-for-Time-Series-Data.git\n```\n\n## Updating Dependencies\n\nUpgrade all dependencies in the project:\n```sh\ngo get -u ./...\ngo mod tidy\n```\n\n## License\n\nThis project is licensed under the Apache 2.0 License. See the [LICENSE](LICENSE) file for details.\n```\n\nThis README provides instructions for installing necessary tools, setting up the development environment, deploying the application, and performing vulnerability scans and dependency updates. Make sure to adjust any specific details according to your project requirements.\n\u003e\u003e\u003e\u003e\u003e\u003e\u003e origin\n\n1. Clone the repository:\n   ```sh\n   git clone https://github.com/zacksfF/TempoScale-Distributed-Infrastructure-for-Time-Series-Data.git\n   cd TempoScale-Distributed-Infrastructure-for-Time-Series-Data\n   ```\n\n2. Start the development environment:\n   ```sh\n   docker-compose -p temposcale -f dev.docker-compose.yml up\n   ```\n\n3. Access the application shell:\n   ```sh\n   docker exec -it temposcale /bin/sh\n   ```\n\n4. Access the PostgreSQL console:\n   ```sh\n   docker exec -it temposcale_citus_coordinator psql -U golang -d temposcale_db\n   ```\n\n## Deployment\n\nBuild and deploy the Docker image:\n```sh\ndocker build -f Dockerfile -t zacksfF/temposcale:latest --platform linux/amd64 .\ndocker tag zacksfF/temposcale:latest bartmika/temposcale:latest\ndocker push zacksfF/temposcale:latest\n```\n\n## Vulnerability Scanning\n\nPerform a vulnerability scan on the Go project and Docker image:\n```sh\ngovulncheck ./...\ntrivy image zacksfF/temposcale:latest\ntrivy repo github.com/zacksfF/TempoScale-Distributed-Infrastructure-for-Time-Series-Data.git\n```\n\n## Updating Dependencies\n\nUpgrade all dependencies in the project:\n```sh\ngo get -u ./...\ngo mod tidy\n```\n\n## Usage\n\n```\npackage main\n\nimport (\n\t\"fmt\"\n\t\"log\"\n\t\"time\"\n\n\t\"github.com/zacksfF/TempoScale-Distributed-Infrastructure-for-Time-Series-Data/util/dtos\"\n\trpc_client \"github.com/zacksfF/TempoScale-Distributed-Infrastructure-for-Time-Series-Data/util/rpc\"\n)\n\n// DESCRIPTION:\n// The purpose of this application is to connect to a running `stockyard` server\n// instance on your machine and create an entity.\n\nfunc main() {\n\t\n\t// Sample data to use in our example code.\n\tipAddress := \"127.0.0.1\"\n\tport := \"8000\"\n\tdeviceName1 := \"temperate-sensor-1\" // Give your entity any unique name you like.\n\tdeviceName2 := \"backyard-birdfeeder-phototimer\"\n\n\t// Connect to a running server from this appolication.\n\tapplicationAddress := fmt.Sprintf(\"%s:%s\", ipAddress, port)\n\tclient, err := rpc_client.NewClient(applicationAddress, 3, 15*time.Second)\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\t// Execute the remote call.\n\tentity, err := client.InsertEntity(deviceName1, dtos.EntityObservationDataType, \"\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tif entity == nil {\n\t\tlog.Fatal(\"error as nothing was returned\")\n\t}\n\n\t// See the results.\n\tlog.Println(\"id\", entity.ID)\n\tlog.Println(\"uuid\", entity.UUID)\n\tlog.Println(\"name\", entity.Name)\n\tlog.Println(\"data_type\", entity.DataType)\n\tlog.Println(\"meta\", entity.Meta)\n\n\t////\n\t//// Create a `phototimer` collection.\n\t////\n\n\t// Execute the remote call.\n\tentity, err = client.InsertEntity(deviceName2, dtos.EntityTimeKeyDataType, \"\")\n\tif err != nil {\n\t\tlog.Fatal(err)\n\t}\n\n\tif entity == nil {\n\t\tlog.Fatal(\"error as nothing was returned\")\n\t}\n\n\t// See the results.\n\tlog.Println(\"id\", entity.ID)\n\tlog.Println(\"uuid\", entity.UUID)\n\tlog.Println(\"name\", entity.Name)\n\tlog.Println(\"data_type\", entity.DataType)\n\tlog.Println(\"meta\", entity.Meta)\n}\n```\n\n## License\n\nThis project is licensed under the Apache 2.0 License. See the [LICENSE](LICENSE) file for details.\n```\n\nThis README provides instructions for installing necessary tools, setting up the development environment, deploying the application, and performing vulnerability scans and dependency updates. Make sure to adjust any specific details according to your project requirements.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzacksff%2Ftemposcale-distributed-infrastructure-for-time-series-data","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzacksff%2Ftemposcale-distributed-infrastructure-for-time-series-data","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzacksff%2Ftemposcale-distributed-infrastructure-for-time-series-data/lists"}