You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by Kai Gülzau <kg...@novomind.com> on 2015/11/18 20:02:49 UTC
SQL facade / beginner questions
Hi,
I am new to calcite and think it sounds very promising.
I would like to know if calcite could be a solution/base for my requirements.
In short: I want to have a SQL "facade" to access several DataSources.
- Databases by JDBC
- REST Services
- SOLR Search by SolrJ
- POJO
This should run embedded in some application.
Is calcite a good base for these requirements or is it targeted to other scenarios?
Bonus question regarding the tutorial:
"Current limitations: The JDBC adapter currently only pushes down table scan operations; all other processing (filtering, joins, aggregations and so forth) occurs within Calcite. Our goal is to push down as much processing as possible to the source system,..."
Is this still true?
Best regards,
Kai Gülzau
AW: SQL facade / beginner questions
Posted by Kai Gülzau <kg...@novomind.com>.
Thanks for your quick reply :-)
I will have another look at Dill or start evaluating calcite.
My first impression was that Drill seems "to big" to embed it in a "one process" application.
Regards,
Kai Gülzau
Re: SQL facade / beginner questions
Posted by Ted Dunning <te...@gmail.com>.
Ah.... I forgot to say, Apache Drill is based on Apache Calcite.
On Thu, Nov 19, 2015 at 8:11 AM, Ted Dunning <te...@gmail.com> wrote:
>
> In addition to what Julian mentions, you might find Apache Drill
> interesting.
>
> Much of what you want is already in Drill, plus you get a parallel
> execution engine.
>
>
>
> On Thu, Nov 19, 2015 at 4:08 AM, Julian Hyde <jh...@gmail.com>
> wrote:
>
>> Yes, this is exactly what Calcite is intended for.
>>
>> Those limitations are out of date. The JDBC adapter can push down all of
>> the standard relational operators (exceptions being NULLS FIRST/LAST,
>> GROUPING SETS and maybe window functions).
>>
>> You will need a schema adapter (i.e. a class that implements
>> SchemaFactory)
>> for each of those kinds of data.
>>
>> > - Databases by JDBC
>>
>> Use JdbcSchema.Factory. This is so common that in a model.json you can
>> just
>> say
>>
>> "type": "JDBC"
>>
>> > - REST Services
>>
>> We have a prototype web adapter; see
>> https://issues.apache.org/jira/browse/CALCITE-884.
>>
>> > - SOLR Search by SolrJ
>>
>> There is no SOLR (or Lucene) adapter currently.
>>
>> > - POJO
>>
>> You can build schemas on POJOs - see ReflectiveSchema - but there is no
>> SchemaFactory, so you need to instantiate the schema manually.
>>
>> Julian
>>
>
>
Re: SQL facade / beginner questions
Posted by Ted Dunning <te...@gmail.com>.
In addition to what Julian mentions, you might find Apache Drill
interesting.
Much of what you want is already in Drill, plus you get a parallel
execution engine.
On Thu, Nov 19, 2015 at 4:08 AM, Julian Hyde <jh...@gmail.com> wrote:
> Yes, this is exactly what Calcite is intended for.
>
> Those limitations are out of date. The JDBC adapter can push down all of
> the standard relational operators (exceptions being NULLS FIRST/LAST,
> GROUPING SETS and maybe window functions).
>
> You will need a schema adapter (i.e. a class that implements SchemaFactory)
> for each of those kinds of data.
>
> > - Databases by JDBC
>
> Use JdbcSchema.Factory. This is so common that in a model.json you can just
> say
>
> "type": "JDBC"
>
> > - REST Services
>
> We have a prototype web adapter; see
> https://issues.apache.org/jira/browse/CALCITE-884.
>
> > - SOLR Search by SolrJ
>
> There is no SOLR (or Lucene) adapter currently.
>
> > - POJO
>
> You can build schemas on POJOs - see ReflectiveSchema - but there is no
> SchemaFactory, so you need to instantiate the schema manually.
>
> Julian
>
Re: SQL facade / beginner questions
Posted by Julian Hyde <jh...@gmail.com>.
Yes, this is exactly what Calcite is intended for.
Those limitations are out of date. The JDBC adapter can push down all of
the standard relational operators (exceptions being NULLS FIRST/LAST,
GROUPING SETS and maybe window functions).
You will need a schema adapter (i.e. a class that implements SchemaFactory)
for each of those kinds of data.
> - Databases by JDBC
Use JdbcSchema.Factory. This is so common that in a model.json you can just
say
"type": "JDBC"
> - REST Services
We have a prototype web adapter; see
https://issues.apache.org/jira/browse/CALCITE-884.
> - SOLR Search by SolrJ
There is no SOLR (or Lucene) adapter currently.
> - POJO
You can build schemas on POJOs - see ReflectiveSchema - but there is no
SchemaFactory, so you need to instantiate the schema manually.
Julian