מה בין בסיס נתונים ל-json ו-NoSQL? עיין ערך Converged Database

נפוץ מאוד ומקובל בתחום בסיסי הנתונים כי לכל סוג מידע נדרש בסיס נתונים יעודי, טבלאי, object oriented, XML, JSON, גרף, טקסט, וכו'.

הגישה מאוד התרחבה של המעבר לפרדיגמה של developer first  אשר שמה את הדגש על פיתוח מונחה מפתחים (שימוש בכלים או טכנולוגיות שהמפתח בוחר).

בתחילה היה מאוד נוח לגייס מפתחי אשר יכלו לפתח בכלים שהכירו או שהיו אטרקטיביים לדעתם, אך לאורך זמן הדבר גרם לביזור המידע בין מערכות רבות ולמעבר ה-לוגיקה הבסיסית ביותר (join , authorization, auditing) לשכבת הקוד באופן שכל שינוי בסיסי גרר שינוי קוד רוחבי, וחילופי מפתחים עשוי היה לגרום לתקלה חמורה בפעולת המערכות עקב פספוס של קשרים בשכבות אפליקטייבים.

כמו כן לאורך זמן מבנה הנתונים סובל מחוסר עקביות כאשר ניתן לשנות את מבנה הנתונים מספר פעמים ביום ללא תכנון או בקרה.

והשיקול הנוסף הוא כמובן שלא ניתן להשתמש בכלים סטנדרטיים לצרכי ניתוח ודיווח על המידע המבוזר.

מספר בסיסי נתונים הוסיפו תמיכה מובנית ב-xml ו-json עם פונקציונאליות עשירה יותר או פחות כדי לאפשר מיזוג של מערכות לתוך בסיסי הנתונים הטבלאיים.

אורקל התקדמו צעד אחד יותר בניסיון לאחד את מקורות המידע  מצד אחד ולהנגיש את המידע מהצד השני.

ראשית בסיס הנתונים תומך באופן טבעי ואחיד במגוון גדול של טיפוסי נתונים: json, xml, spatial, geoJson, text, graph ועוד.

שנית,  פרט לתמיכה בפרוטוקול הטבעי של אורקל –  sqlnet, נוספה תמיכה ב-http/s לשימוש עבור SOAP ו-REST לגישה לנתונים עבור מפתחים מודרניים וכלי אינטגרציה ו-DevOps כל שלא נדרש ידע בשפת SQL ולא נדרש ניהול connection pool (מאוד נוח לשפות סריפט למיניהן דוגמת PHP).

עבור מערכות קיימות אשר נכתבו מול mongodb, אורקל הוסיפו תאימות ל-mongo-api כך שניתן להפנות אפליקציה שנכתבה עבור mongodb כך שתעבוד מול אורקל ללא שינוי תוך שיפור עצום בניהוליות ובקלות הפיתוח היות וניתן ליצר documents מחתכים שונים מתוך אותו אוסף טבלאות בבסיס הנתונים ע"י שימוש ב-join.

אורקל גם תומכים במרבית ה-api הקיימים עבור כל שפות הפיתוח הנפוצות, כך שכל מפתח, בכל שפה יכול לעבוד עם בסיס הנתונים של אורקל באופן טבעי ולהשתמש בכל היכולות המתקדמות, המובנות בו.