[ 
https://issues.apache.org/jira/browse/HIVE-14870?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15549918#comment-15549918
 ] 

Sergey Shelukhin commented on HIVE-14870:
-----------------------------------------

We only need very limited functionality compared to DN. The layer like this 
already exists in ACID so I don't see why it cannot be reused and augmented. 
The only changes needed would be the ability to replace some parts to optimize 
for Oracle (or other DBs), which will not be pretty but is imho preferable to 
the alternatives.

As I see it, I would be merely -0 on the thing in itself - it's bad enough to 
have 2.5 SQL "engines" (ORM, the one in acid, and directsql), to add the third, 
plus another federation thing that is also not hidden on a lower level like the 
direct sql one - and that one caused enough problems and special cases, simple 
as it is... and confusion with the logs of failures that are not really 
failures and sudden unexplained slowdowns).
There are all kinds of issues e.g. how does it work with upgrade scripts - 
would we need to create and maintain the other set? Would scripts to switch the 
schema always be the same, or would there need to be a back and forth script 
for every version eventually? Etc.

However, what do we do if someone wants to have an optimized MySqlEngine, or 
MsSqlEngine, etc. and c/p-s the Oracle one, rewrites a few critical SQL 
queries, and submits a patch? That will quickly turn into a maintenance 
nightmare.

It appears to me that the existing custom-SQL layer in ACID is "good enough" 
and could be reused, if desired (or used as inspiration) to make this ANSI, and 
keep query optimizations to a plugin (or even a switch statement if need be).
This also has an additional advantage of being able to deprecate and then ditch 
ORM altogether, which would simplify things instead of making them more complex.

Another alternative path (that could be pursued in paralle) is making RawStore 
pluggable so that such specific implementations would not be a supported part 
of Hive codebase.


> OracleStore: RawStore implementation optimized for Oracle
> ---------------------------------------------------------
>
>                 Key: HIVE-14870
>                 URL: https://issues.apache.org/jira/browse/HIVE-14870
>             Project: Hive
>          Issue Type: Improvement
>          Components: Metastore
>            Reporter: Chris Drome
>            Assignee: Chris Drome
>         Attachments: OracleStoreDesignProposal.pdf
>
>
> The attached document is a proposal for a RawStore implementation which is 
> optimized for Oracle and replaces DataNucleus. The document outlines schema 
> changes, OracleStore implementation details, and performance tests against 
> ObjectStore, ObjectStore+DirectSQL, and OracleStore.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to