# Data Ingestion

This section contains examples demonstrating how to get data into the DBNL platform using various methods all adhering to the [DBNL Semantic Convention](https://docs.dbnl.com/configuration/dbnl-semantic-convention). Each example includes [working code](https://github.com/dbnlAI/examples), detailed explanations, and guidance on when to use each approach.

## Getting Started

If you're new to DBNL, start with the [Quickstart](https://docs.dbnl.com/get-started/quickstart) which walks you through deploying a local sandbox and uploading your first data.

## Data Input Examples

DBNL supports multiple ways to ingest data.

* [**Direct OTEL Ingestion**](https://github.com/dbnlAI/examples/tree/main/adk_calculator_otel_direct): Stream traces in real-time from OTEL-instrumented applications
* [**SDK from JSON**](https://github.com/dbnlAI/examples/tree/main/adk_calculator_sdk_from_json): Load trace data from JSONL files and upload via the Python SDK
* [**SDK from OTEL**](https://github.com/dbnlAI/examples/tree/main/adk_calculator_sdk_from_otel): Batch upload OpenTelemetry trace exports
* [**SDK from Langfuse Export**](https://github.com/dbnlAI/examples/tree/main/sdk_from_langfuse_export): Import traces exported from Langfuse

## Repository

All example code is available in the [dbnlAI/examples](https://github.com/dbnlAI/examples) GitHub repository.

## Next Steps

Check out the [Tutorials](https://docs.dbnl.com/examples/tutorials) and Walkthroughs to see DBNL in action for various end-to-end use cases.

<figure><img src="https://content.gitbook.com/content/yx9NXaWRjaOtW8ILLJQO/blobs/zuvfEZu6POoQkHDjYZDn/calc_demo_small_opt.gif" alt=""><figcaption></figcaption></figure>
