Build data apps using the language of your choice including Python, Node.js, Go, .NET, Java, and SQL. Drivers for PHP and Ruby coming soon.
See our docs for complete working examples
Snowflake’s Data Cloud is designed to power applications with no limitations on performance, concurrency, or scale. Trusted by fast growing software companies, Snowflake handles all the infrastructure complexity, so you can focus on innovating your own application.
Snowflake’s multi-cluster, shared data architecture spins up additional compute clusters to support a near-unlimited number of concurrent users on shared tables without contention for resources.
Use ANSI SQL to query structured and semi-structured data. Ingest JSON, Avro, Parquet, and other data without transformations or having to fix the pipeline every time the schema changes.
Developing and scaling data applications is complex. Snowflake automatically handles provisioning, availability, tuning, data protection, and other operations across multiple clouds for you.
Bike sharing app that shares rider data with cities so they can better plan infrastructure such as bike lanes and parking areas.
Hotel Tonight built an online travel app that helps its hotel partners predict demand and improve their search ranking.
Grocery delivery app that enables CPG companies to make targeted offers based on store availability and customer behavior.
Digital learning app that helps its educational institution customers predict and proactively improve student performance.
Pharmacy management app that delivers insights from massive amounts of patient data securely to over 10,000 pharmacies.
Product analytics app to help its customers understand user behavior by securely sharing live data without having to copy it.
Product analytics app that provides its customers instant access to data about their own customers’ in-app behavior.
Cloud security app that detects suspicious behavior that poses threats to its customers’ cloud workloads.
Snowflake separates compute and storage so you can scale each independently and cost effectively.
Snowflake automatically scales compute resources, up and down, for near-infinite concurrency without impacting performance or having to reshuffle data.
Align costs with your product margins with per-second compute pricing and avoid paying for idle resources.
Ingest and immediately query JSON, Parquet, Avro, ORC, and XML without defining schemas in advance.
Deploy on any cloud and regions, with global replication for high availability, data durability, and disaster recovery.
Quickly create sandboxes and develop pilots with live data but without the cost of copying and moving data.
Easily access historical data after it has been modified or deleted for periods up to 90 days.
Integrate easily with native clients and connectors including ODBC, JDBC, Node, Python, .NET, Go, Spark, and Kafka. Drivers for PHP and Ruby coming soon.
Use SQL for all your data, structured or semi-structured, including support for joins across data types, databases and external tables.
Extend Snowflake with in-engine JavaScript functions to perform custom calculations.
Automate the steps to transform and optimize continuous data loads with Snowpipe and third-party data tools.
Share live data easily and securely with your partners but without copying or moving that data to ensure a single source of truth across your ecosystem.
Programmatically make SQL calls to Snowflake without the need for client drivers or external API management infrastructure.
Query data in cloud object stores for additional insights but without having to ingest that data.
Protect your customer data with role-based access controls (RBAC) and data encryption at rest and in transit.
import snowflake.connector
# Set your account details using connection = snowflake.connector.connect(...
cur = connection.cursor()
try:
cur.execute("SELECT col1, col2 FROM test_table ORDER BY col1")
for (col1, col2) in cur:
print('{0}, {1}'.format(col1, col2))
finally:
cur.close()
var snowflake = require('snowflake-sdk');
createConnectionObject = function () { /* Set account details using var */
connection.connect(function(err, conn) { /* Add error-checking. */ } );
connection.execute({
sqlText: 'select * from ' + MY_DB + '.public.test_table',
complete: function(err, stmt, rows) {
for (var i = 0; i < rows.length; i++) {
console.log(rows[i]['COL1'] + ', ' + rows[i]['COL2']);
}
}
});
}
createConnectionObject();
/* Add code to import java.sql.Connection, java.sql.DriverManager,
java.sql.ResultSet, java.sql.Statement, java.util.Properties */
public class JDBCExample {
public static void main(String[] args) throws Exception {
Properties properties = new Properties();
// Set account details using properties.put(...
Connection connection = DriverManager.getConnection(MY_CONNECT_STR, properties);
Statement statement = connection.createStatement();
ResultSet rs = statement.executeQuery("select * from test_table order by col1");
while (rs.next()) {
System.out.println(rs.getString(1) + ", " + rs.getString(2));
}
connection.close();
}
}
package main
import ( "database/sql"
"fmt"
sf "github.com/snowflakedb/gosnowflake" )
func main() {
// Set account details using cfg := &sf.Config{...
dsn, err := sf.DSN(cfg)
if err != nil {fmt.Printf("ERROR")}
db, err := sql.Open("snowflake", dsn)
if err != nil {fmt.Printf("ERROR")}
rows, err := db.Query("SELECT col1, col2 FROM " + MY_DB + "." + " public.test_table ORDER BY col1")
defer rows.Close()
var c1, c2 int
for rows.Next() {
err := rows.Scan(&c1, &c2)
if err != nil {fmt.Printf("ERROR")}
fmt.Printf("%d, %dn", c1, c2)
}
db.Close()
}
using (IDbConnection conn = new SnowflakeDbConnection())
{
// Set account details using conn.ConnectionString = ...
conn.Open();
IDbCommand cmd = conn.CreateCommand();
cmd.CommandText = "SELECT col1, col2 FROM test_table ORDER BY col1";
IDataReader reader = cmd.ExecuteReader();
while(reader.Read())
{
Console.WriteLine(reader.GetString(0) + " , " + reader.GetString(1));
}
conn.Close();
}
SELECT e.name as "DOCTOR",
year(treatment_date) as "YEAR",
d.name as "DIAGNOSIS",
sum(t.cost_per_treatment)
over (partition by doctor, year(treatment_date))
as yearly_revenue
FROM patients as p inner join treatments_applied as ta inner join
treatments as t inner join diagnosis_types as d inner join employees as e
ON ta.patient_ID = p.ID and
ta.diagnosis_ID = d.ID and
ta.treatment_ID = t.ID and
e.ID = ta.doctor_ID
WHERE lower(d.name) = 'python bite'
-- extract from the JSON in the VARIANT column named "side_effects"
and side_effects:physical.skin = 'pale'
ORDER BY doctor, year(treatment_date);
Build data apps using the language of your choice including Python, Node.js, Go, .NET, Java, and SQL. Drivers for PHP and Ruby coming soon.
See our docs for complete working examples
Build sales and marketing applications to accomplish 360-degree view customer goals, such as finding new segments and sending personalized offers using historical and real-time data
Develop applications that analyze large volumes of time-series data from IoT devices and respond in near real time.
Analyze large volumes of log data to identify potential security threats and monitor application health.
Train machine learning models to build predictive applications such as recommendation engines.
Build data-intensive applications that deliver visualizations within your app.
Powered by Snowflake Program helps software companies build, operate, and grow applications.
Use language of your choice and familiar data frame constructs to build powerful and efficient pipelines and apps with the performance and ease-of-use of the Snowflake’s processing engine.
READ THE BLOG TRY THE HANDS-ON GUIDE
See how Snowflake’s Data Cloud can help you develop data applications faster and without limits on performance, concurrency, or scale.