Oracle Database, currently in edition 23ai, is a converged, multimodel database management system. It is designed to simplify development for AI, microservices, graph, document, spatial, and relational applications.
$0.05
per hour
TensorFlow
Score 8.1 out of 10
N/A
TensorFlow is an open-source machine learning software library for numerical computation using data flow graphs. It was originally developed by Google.
I believe Oracle Database is still the best RDBMS database which is the database to consider for OLTP applications and for Adhoc requests. They are good in Datawarehousing in certain aspects but not the best. Oracle is also a great database for scaling up with their Clusterware solution which also makes the database highly available with services moving to the live instance without much trouble.
Whenever the problem has the demand for a neural networks based solution, Tensorflow (TF) is a great fit.
The tf.dataset API makes it really simple to create complex data pipelines in a few lines of code.
tf.estimators API abstracts all the complex computation graph creation logic making it very simple to get started.
Eager execution makes it simple to develop a TF graph as debugging the code would be like any other imperative Python program.
TF abstracts all the complexities of scaling it to multiple machines. It has various code and data distribution algorithms ready to use.
Projects like TensorBoard make monitoring the training process really easy. It also gives the ability to view embeddings without any extra code. Their What-If is extremely useful for poking and understanding a black box model. It also has tools to visualize data to quickly check for anomalies.
TF Autograph aims to covert any normal Python code into a distributed program which is quite handy to scale an existing code base.
Data pipeline implementation is quite good, loading large amounts of data and pre-process it in an efficient way is no more issue for us
It supports all major DL algorithms and network layouts such as ConvNets, RNN, LSTMs, Word2Vec, and even the latest transformer architecture
The abstraction for the device is perfectly done and its support seamlessly for multiple GPU and even TPU will bring a lot of performance gain for enterprise scoped solution while still keep the flexibility
The TensorBoard is amazing. I haven't seen a similar thing in other frameworks on the market. It allows us to quickly understand and debug the model with the info visualization which makes understanding much better
A very supportive community, which is the key for sharing the ideas and find the quick and best solutions
New (actually it is more than five years old) multi-tenant architecture is not as straightforward as SQL Server, but it has been enhanced in Oracle 12c Release 2 and later 18c and 19c.
Many features require additional licensing (either as options or as packs) that increase the total cost
It would be much better if they could provide good documentation and easy ways to understand concepts.
It is difficult to understand the concept behind for example, Tensor Graph, which takes a lot of time.
As you have to write everything, it is time consuming to write the implementation of whole neural network. It would be better if they can provide some wrapper library to make things easier.
It is very likely to use this 12c (or next version) of Oracle Database. Nothing close to it in the marketplace in terms of performance, reliability and overall database management efficiency. If Oracle did one thing really good - it is it's OLTP Database I must say.
Many of the powerful options can be auto-configured but there are still many things to take into account at the moment of installing and configuring an Oracle Database, compared with SQL Server or other databases. At the same time, that extra complexity allows for detailed configuration and guarantees performance, scalability, availability and security.
1. I have very good experience with Oracle Database support team. Oracle support team has pool of talented Oracle Analyst resources in different regions. To name a few regions - EMEA, Asia, USA(EST, MST, PST), Australia. Their support staffs are very supportive, well trained, and customer focused. Whenever I open Oracle Sev1 SR(service request), I always get prompt update on my case timely. 2. Oracle has zoom call and chat session option linked to Oracle SR. Whenever you are in Oracle portal - you can chat with the Oracle Analyst who is working on your case. You can request for Oracle zoom call thru which you can share the your problem server screen in no time. This is very nice as it saves lot of time and energy in case you have to follow up with oracle support for your case. 3.Oracle has excellent knowledge base in which all the customer databases critical problems and their solutions are well documented. It is very easy to follow without consulting to support team at first.
Community support for TensorFlow is great. There's a huge community that truly loves the platform and there are many examples of development in TensorFlow. Often, when a new good technique is published, there will be a TensorFlow implementation not long after. This makes it quick to ally the latest techniques from academia straight to production-grade systems. Tooling around TensorFlow is also good. TensorBoard has been such a useful tool, I can't imagine how hard it would be to debug a deep neural network gone wrong without TensorBoard.
Overall the implementation went very well and after that everything came out as expected - in terms of performance and scalability. People should always install and upgrade a stable version for production with the latest patch set updates, test properly as much as possible, and should have a backup plan if anything unexpected happens
Oracle Database is among the easiest to integrate with, program against, have a reliable cluster with DR, and has the most understood and well-documented databases. It suits really well if the software shop is primarily Java-based, and deals with large volumes of data with a high degree of diversity among the applications by purpose and use. Paid support is recommended as well as planned periodic patching and upgrades.
Can't seem to choose any deep learning platform in the above, so I'll list it here: 1. Apache MXNet: this has been used for one of our main algorithms for search as an end-to-end pipeline. We chose this because of the Scala bindings, which makes it easier to integrate with out JVM backend. MXNet seems comparable to TensorFlow, although community support is not as good as TensorFlow, and there are issues with memory leaks that are being worked on. TensorFlow in general is easier to use, but MXNet isn't too far behind. 2. Keras: still a favorite. Often I use this when paired with TensorFlow. TensorFlow 2.0 will make it even easier. 3. PyTorch: only used it a little, so it's hard to provide a good opinion. 4. DL4J: used it initially in an early days project because it has good JVM support. Harder to used not because of poor API design, but because community support is lacking and features don't come out as fast as TensorFlow.
We wasted lots of money (Oracle is crazy expensive), time and effort on the project and were highly relieved when we found a different approach to supporting our aging ERP app that did not include Oracle.
Because of the difficulty of using Oracle, we spent a lot of money on consultants to help us over the conversion hump. Also wasted. And it was interesting to see them struggle with the software. Upgrades never went well always requiring multiple site visits, for example.
Positive Impact- As I mentioned before its open source. Very easy to learn for average programmer/ developer. We were able to design a POC model for understanding the patient appointment cancellation snd reasons behind it in 3 week time frame.
Negative Impact- If you are using tensor flow for small project it works fine. If you are trying to build a model for face recognition it will be hard to program and train the system. It needs data to be processed before hand cannot learn on the go.