www.macrometa.com Open in urlscan Pro
2606:4700:20::681a:5a2  Public Scan

Submitted URL: http://macrometa.com/
Effective URL: https://www.macrometa.com/
Submission: On January 06 via manual from US — Scanned from DE

Form analysis 1 forms found in the DOM

Name: wf-form-emailPOST https://api.hsforms.com/submissions/v3/integration/submit/4559600/2820791a-e45e-4742-842f-a6f1b08fe051

<form id="wf-form-email" name="wf-form-email" data-name="email" action="https://api.hsforms.com/submissions/v3/integration/submit/4559600/2820791a-e45e-4742-842f-a6f1b08fe051" method="post" class="form new" aria-label="email" data-hs-cf-bound="true">
  <label for="email-3" class="join-text">Join the Newsletter</label>
  <div class="subscribe"><input type="email" class="email w-input" maxlength="256" name="email" data-name="email" placeholder="Email Address" id="email" required=""><input type="submit" value="Subscribe" data-wait="Please wait..."
      class="submit w-button"></div>
</form>

Text Content

This website stores cookies on your computer. These cookies are used to collect
information about how you interact with our website and allow us to remember
you. We use this information in order to improve and customize your browsing
experience and for analytics and metrics about our visitors both on this website
and other media. To find out more about the cookies we use, see our Privacy
Policy.

If you decline, your information won’t be tracked when you visit this website. A
single cookie will be used in your browser to remember your preference not to be
tracked.

Accept Decline
Check out the Highlights from Developer Week

Platform
Solutions
Developers
Resources
Pricing
Log in
Get Started

Macrometa Overview
The Global Data Network
Global Data Mesh
Key-Value Stores
Document Collections
Dynamo Stores
Graph Stores
Search
Edge Compute
Streams
Caching
Serverless Backend
Data Protection
PII & Regulatory Compliance
Application Performance Management
Industries
Industrial IoT/IIoT
Retail & E-commerce
SaaS & Cloud
Telecommunications
Finance
Gaming
Documentation
Get started with Macrometa

API Reference
All of the End Points

API Status
Real-Time System Performance

Support
We're here to help
Blog
The latest from Macrometa
Case Studies
User stories
Content Library
In-depth technical content
Edge Topics
Learning center
Partners
Partner info and resources
Request a demo
Log in
Platform
Solutions
Developers
Resources
Pricing
Create a Free Developer Account



WRITE ONCE, RUN EVERYWHERE

Macrometa is the distributed backend for building global applications at the
Edge.

Create a Free Developer Account
Request a Demo




TRUSTED AT SCALE


Latest News Check out the highlights from Developer Week



BUILD REAL-TIME APPS AND APIS IN MINUTES – NOT MONTHS

Macrometa is a Global Data Network offering a Global Data Mesh, Edge Compute,
and Data Protection. Build and run applications all over the world with a single
copy of data.


THINK LOCALLY, DEPLOY GLOBALLY



Macrometa is globally-distributed with over 175 PoPs around the world.


4 DATABASES IN ONE



Multi-model data layer for key-value, document, graph, and streaming data.


COMPLETE STREAM PROCESSING



Complex Event Processing engine with pub/sub, message queues, and more.


ULTRA-LOW LATENCY



<50ms P90 round-trip request latency, for both reads and writes.


REAL-TIME SEARCH ON DATA



Flexible full-text search and similarity ranking across multiple data stores.


GLOBAL DATA AND API CACHING



Make your apps up to 100x faster with geo-replicated edge caching.





ZERO-CONFIG REQUIRED

Fast, global apps and services with just an API and a few lines of code. Forget
about infrastructure and focus on shipping products and features in a fraction
of the time.

You write the code, we’ll make it fast.

Create a Collection with Streaming 
Create a Query Worker to handle
write requests
Write to the Collection
Subscribe to the Event Stream
JavaScript ▼
Python▼
CLI▼

const jsc8 = require("jsc8");
const client = new jsc8({
  url: "https://api-play.paas.macrometa.io",
  apiKey: "XXXX"
});

(async () =>{
  const collection = await client.createCollection("employees", {
    stream: true
  });

  console.log("Collection created", collection);
})();


Read the docs

from c8 import C8Client

fed_url = "api-play.paas.macrometa.io"
guest_mail = "nemo@nautilus.com"
guest_password = "xxxxxx"

geo_fabric = "_system"
collection_name = "employees"

if __name__ == '__main__':
    print("\n ------- CONNECTION SETUP  ------")
    print("tenant: {}, geofabric:{}".format(guest_mail, geo_fabric))
    client = C8Client(protocol='https', host=fed_url, port=443,
                      email=guest_mail, password=guest_password,
                      geofabric=geo_fabric)

    print("\n ------- CREATE GEO-REPLICATED COLLECTION  ------")
    if client.has_collection(collection_name):
        print("Collection exists")
    else:
        employees = client.create_collection(collection_name)
        print("Created collection: {}".format(collection_name))

Read the docs

Read the docs


gdnsl collection create employees --type doc --stream

JavaScript ▼
Python▼
CLI▼


const jsc8 = require("jsc8");
const client = new jsc8({
  url: "https://api-play.paas.macrometa.io/",
  apiKey: "XXXX"
});

(async () => {
    const record = "INSERT { 'firstname': @firstname, 'lastname': @lastname, 'email': @email, 'zipcode': @zipcode, '_key': @email } IN employees";
    const queryWorker = await client.createRestql("insertRecord", record, {});

    console.log("Created query worker!", queryWorker);
})();



Read the docs


from c8 import C8Client
fed_url = "api-play.paas.macrometa.io"
guest_mail = "nemo@nautilus.com"
guest_password = "xxxxxx"

geo_fabric = "_system"
collection_name = "employees"

value = "INSERT {'firstname':@firstname, 'lastname':@lastname, 'email':@email, 'zipcode':@zipcode, '_key': 'abc'} IN %s" % collection_name
parameter = {"firstname": "", "lastname": "", "email": "", "zipcode": ""}

insert_data = {"query": {"name": "insertRecord",
                         "parameter": parameter, "value": value}}

if __name__ == '__main__':

    print("\n ------- CONNECTION SETUP  ------")
    print("tenant: {}, geofabric:{}".format(guest_mail, geo_fabric))
    client = C8Client(protocol='https', host=fed_url, port=443,
                      email=guest_mail, password=guest_password,
                      geofabric=geo_fabric)

    print("\n ------- CREATE QUERY WORKER  ------")
    client.create_restql(insert_data)  # name: insertRecord
    print("Created RESTQLs:{}".format(client.get_restqls()))


Read the docs



gdnsl query-worker create insertData --value "INSERT {'firstname':@firstname, 'lastname':@lastname, 'email':@email, 'zipcode':@zipcode} IN employees"


Read the docs

JavaScript ▼
Python▼
CLI▼
Read the docs


const jsc8 = require("jsc8");
const client = new jsc8({
  url: "https://api-play.paas.macrometa.io",
  apiKey: "XXXX"
});

(async () => {
    const record = {
      "firstname": "john", 
      "lastname": "doe",
      "email": "john.doe@macrometa.io", 
      "zipcode": "511037"
    };

    await client.executeRestql("insertRecord", record);

    console.log("Data inserted into query worker!");
})();


Read the docs



from c8 import C8Client

fed_url = "api-play.paas.macrometa.io"
guest_mail = "nemo@nautilus.com"
guest_password = "xxxxxx"
geo_fabric = "_system"
collection_name = "employees"

if __name__ == '__main__':

    print("\n ------- CONNECTION SETUP  ------")
    print("tenant: {}, geofabric:{}".format(guest_mail, geo_fabric))
    client = C8Client(protocol='https', host=fed_url, port=443,
                      email=guest_mail, password=guest_password,
                      geofabric=geo_fabric)

    print("\n ------- EXECUTE RESTQLs ------")
    print("Insert data....")
    response = client.execute_restql(
        "insertRecord",
        {"bindVars": {"firstname": "john", "lastname": "doe",
                      "email": "john.doe@macrometa.io", "zipcode": "511037"}})



gdnsl query-worker run insertData --param "firstname=john" "lastname=doe" "email=jd@macrometa.com" "zipcode=94002"


Read the docs

JavaScript ▼
Python▼
CLI▼
Read the docs


const jsc8 = require("jsc8");
const client = new jsc8({
  url: "https://api-play.paas.macrometa.io",
  apiKey: "XXXX"
});

(async () => {
  const realtimeListener = async () => {
    const listener = await client.onCollectionChange("employees");

    listener.on('message', (ent) => {
      console.log("Event =>", msg);
    });

    listener.on('open', () => {
      console.log("Connection open...")
    });

    listener.on('close', () => {
      console.log("Connection closed!")
    });
  }

  await realtimeListener();
})();


Read the docs



from c8 import C8Client
import json
import requests

fed_url = "api-play.paas.macrometa.io"
guest_mail = "nemo@nautilus.com"
guest_password = "xxxxxx"
geo_fabric = "_system"
collection_name = "employees"

def get_auth_token(email, password):
    data = {
            "email": email,
            "password": password,
    }
    data = json.dumps(data)
    url = f"https://api-{fed_url}/_open/auth"
    response = requests.post(url, data=data)
    if response.status_code == 200:
        body = json.loads(response.text)
        token = body.get("jwt")
        if (not token):
            print("Failed to get Authentication Token for URL: {},Email: {}".format(url, email))
    else:
        print("Failed to Authenticate the C8DB user for URL: {} and Email: {}. Error: {}".format(url, email, response.text))
        
    return token

def enable_collection_stream(token, fabricName, collectionName):
    data = { 
            "hasStream": True
    }
    data = json.dumps(data)
    url = f"https://api-{fed_url}/_fabric/{fabricName}/_api/collection/{collectionName}/properties"
    jwtToken = f"bearer {token}"   
    headers={'Authorization': jwtToken, 'accept' : "application/json" }
    response = requests.put(url, data=data, headers=headers)
    if response.status_code == 200:
        print("Enabled stream for collection: {}".format(collection_name))
    else:
        print("Failed to enable the stream for collection: {}, Error: {}".format(collection_name, response.status_code))
        
def callback_fn(event):
    print(event)
    
if __name__ == '__main__':
    print("tenant: {}, geofabric:{}".format(guest_mail, geo_fabric))
    token = get_auth_token(guest_mail, guest_password)    

    enable_collection_stream(token, geo_fabric, collection_name)
    
    # Get the C8DBClient object
    client = C8Client(protocol='https', host=fed_url, port=443,
                  email=guest_mail, password=guest_password,
                  geofabric=geo_fabric)
    
    # Subscribe to the stream
    client.on_change("employees", callback=callback_fn)


Read the docs



gdnsl streams list


Quickstart Guide
Sample Apps



BLAZING FAST, EVERYWHERE ON THE PLANET

Macrometa lets you store, serve, and process your data within 50ms of 80% of the
global population.

Up to 100x Faster at 1/10th the Cost

Built from the ground up to be dramatically faster and more efficient than
conventional cloud providers, allowing us to pass those savings directly to our
customers.

Learn more
Data Governance Made Easier

We allow you to improve performance, user experience, and comply with global
data governance laws. Physically pin data to specific regions and tokenize it
for access externally.

Learn more



TRUSTED BY ENTERPRISE

For ultimate scalability, growth, and efficiency, these enterprises choose
Macrometa. Create the ultimate customer experience with stateful data and
real-time analytics – at a fraction of the cost.


Learn about Macrometa for Enterprise

Macrometa has obtained a SOC 2 Type 2 certification for the Trust Criteria of
Security and Availability.

The SOC 2 report is available under NDA for Macrometa customers by request at
sales@macrometa.com.

“Macrometa has some hardcore computer science behind it.”
James Governor
Co-founder
Redmonk
“After trying many different services I landed on Macrometa. The low latency won
me over, and the ease of use, fair pricing, and friendly staff made me stay.
Super easy to get started and I haven't worried about it since. It just works.”
Dominik Ferber
‍Founder
HappyKit
"Macrometa makes navigating our website feel instantaneous from anywhere in the
world, even when there are highly complex queries being run in order to serve
and process the financial data in real-time."
Kris Gunnars
‍Founder & CEO
Stock Analysis


GET STARTED IN MINUTES

Create a free account to test-drive the platform.

Full access to Global Data Mesh
Sample apps, tutorials, and blueprints
Full access to Edge Compute
CLI, SDKs, and OpenAPI file available
Create a Free Developer Account
Connect with our Sales Team





BUILT FOR DEVELOPERS,
BY DEVELOPERS

Macrometa integrates seamlessly with your existing workflows, giving you fast,
scalable, and reliable access to your data from a wide range of popular
frameworks.


QUICKSTART GUIDE

Get started quickly with guides, tutorials, and sample apps that cover the
basics.




DEVELOPER TOOLS

Leverage our CLI, SDKs and libraries to start building on the edge today.




API REFERENCE

Unlock the power of the Global Data Network with our expansive API docs.

We’re Hiring!
Request a DemoCreate an Account
Platform
Global Data NetworkGlobal Data MeshEdge ComputeData ProtectionEnterprise
Developers
DocumentationAPI ReferenceSample AppsSystem StatusSupport
Resources
PricingTechnologyCase StudiesPartnersBlog
Company
AboutCareersTerms of ServicePrivacy PolicyContact Us
Product
DatabaseStreamsViewsCaching
Developers
DocumentationAPI ReferenceSample AppsSystem Status
Resources
PricingTechnologyPartnersBlog
Company
AboutCareersPrivacy PolicyTerms of ServiceCareers
Connect
Contact UsSupportCareers
Join the Newsletter

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

© 2022  Macrometa · All rights reserved
All Systems Operational