Oracle Big Data Spatial and Graphのこのリリースの変更点
Big Data Spatial and Graphのリリース2.4の製品には次の変更が含まれています。
リリース2.5の変更点
次の変更は、Big Data Spatial and Graphリリース2.5に適用されます。
リリース2.5でのSpark VectorのAPIの変更点
次の機能がBig Data Spatial and Graph 2.5のSpark Vector APIに追加されました。
-
空間索引にカウント・アクションが追加されました
親トピック: リリース2.5の変更点
マルチメディア分析機能の非推奨化
Big Data Spatial and Graphのマルチメディア分析機能は、このリリースでは非推奨となり、将来のリリースでサポートされなくなる可能性があります。マルチメディア・アナリティクス機能の代替機能はありません。
マルチメディア分析機能については、現在、マルチメディア分析の使用に記載されています。
親トピック: リリース2.5の変更点
リリース2.4の変更点
次の変更は、Big Data Spatial and Graphリリース2.4に適用されます。
インメモリー・アナリスト(PGX) - 関連する変更
次の変更は、Big Data Spatial and Graphのインメモリー・アナリスト(PGX)機能に関連しています。
親トピック: リリース2.4の変更点
サイクル検出用の新しいPGX組込みアルゴリズム
インメモリー・アナリスト(PGX)のリリース2.4では、サイクルを検出するために次の2つのインメモリー・アルゴリズムが導入されています。強力なバージョンは、いくつかのDFSトラバースを実行して常にグラフ全体をスキャンし、軽量なバージョンは、タスクに対して1度だけDFSトラバースを実行します。軽量なバージョンの方が高速ですが、グラフ全体が検索されない場合があるため、一部のサイクルの検出に失敗する可能性があります。
analyst.findCycle()
APIを介して新しいアルゴリズムを使用できます。
親トピック: インメモリー・アナリスト(PGX) - 関連する変更
PGXでの一時的なデータ型のサポート
リリース2.4のインメモリー・アナリスト(PGX)では、SQLの5つの一時的なタイプおよび新しいJava 8の日時タイプに直接マップされる5つの一時的なデータ型のサポートによって、時間に関連するプロパティをより正確に制御できます。dateプロパティ・タイプは非推奨になり、local_date、time、timestamp、time_with_timezoneおよびtimestamp_with_timezoneに置き換えられました。次の表にまとめるように、新しいタイプはPGX APIとPGQLの両方でサポートされます。
表-1 PGXでの一時的なデータ型のサポート
型 | PGXプロパティ・タイプ | 例のプレーン・テキスト | 例のPGQLリテラル | PGQL ResultSet API |
---|---|---|---|---|
TIMESTAMP WITH TIMEZONE |
timestamp_with_timezone |
"2017-08-18 20:15:00+08" |
TIMESTAMP '2017-08-18 20:15:00+08' |
java.time.OffsetDateTime getTimestampWithTimezone(..) |
TIMESTAMP |
timestamp |
"2017-08-18 20:15:00" |
TIMESTAMP '2017-08-18 20:15:00' |
java.time.LocalDateTime getTimestamp(..) |
TIME WITH TIMEZONE |
time_with_timezone |
"20:15:00+08" |
TIME '20:15:00+08' |
java.time.OffsetTime getTimeWithTimezone(..) |
TIME |
time |
"20:15:00" |
TIME '20:15:00' |
java.time.LocalTime getTime(..) |
DATE |
local_date |
"2017-08-18" |
DATE '2017-08-18' |
java.time.LocalDate getDate(..) |
親トピック: インメモリー・アナリスト(PGX) - 関連する変更
PGX Java APIの改良
リリース2.4では、PGX Java APIにいくつかの追加および改良が加えられました。
-
セッションでプライベートに使用されるすべてのグラフの取得、および名前によるグラフの取得のためのJava APIが追加されました(
PgxSession#getGraphs()
、PgxSession#getGraph(String)
)。 -
グラフに頂点/エッジ・ラベルがあるかどうかを確認するためのAPIが追加されました(
PgxGraph#hasVertexLabels
、PgxGraph#hasEdgeLabel
)。 -
GraphConfig
ビルダーは、既存のGraphConfigsから値をコピーできるようになり、GraphConfigビルダーからプロパティを削除できるようになりました。(copyFrom(GraphConfig)
、copyBaseFrom(GraphConfig)
、removeVertexProperty(String)
、removeEdgeProperty(String))。 -
ランダムなエッジを取得するためのAPIが追加されました(
PgxGraph#getRandomEdge)
)。
親トピック: インメモリー・アナリスト(PGX) - 関連する変更
PGQLの新機能
リリース2.4では、次を含むPGQLのいくつかの新機能が導入されています。
準備済の文
準備済の文によって、アプリケーションを問合せインジェクションから保護する方法が提供されます。また、準備済の文を使用すると、バインド値が変更されるたびに問合せを再コンパイルする必要がないため、問合せの実行が高速になります。PGQLでは、バインド変数を示すために疑問符記号(?)を使用します。バインド変数の値は、PreparedStatement
APIを介して割り当てられます
方向のないエッジ問合せ
PGQLで、方向のないエッジ問合せがサポートされるようになりました。これは、方向のないグラフの問合せや、方向のあるグラフでのエッジ方向を無視した問合せに使用できます。これらの2つのユースケースを次の2つの問合せに示します。
SELECT d1.name WHERE (d1:Device) -[:connects_to]- (d2:Device), d1.name = 'LoadTransformer 2533'
SELECT m.name WHERE (n:Person) -[:follows]- (m:Person) , n.name = 'Bono'
最初の問合せは、connects_to
というラベルが付けられた方向のないエッジと一致し、2番目の問合せは、'Bono'という名前の人の前または後のすべての人と一致します。
PGQLのその他の追加および改良
-
PGQLに
all_different(a, b, c, ...)
関数が導入されました。これは、値のセット(通常は頂点またはエッジ)がすべて互いに異なることを指定できます。 -
文字列値の比較に対する、次より大きい、次以上、次より小さいおよび次以下がサポートされます(Java APIのフィルタ式に対しても機能します)。
-
次の例のように、PATHパターンでの頂点に関する制約のサポートが追加されました。以前は、PATHパターンのエッジに関する制約のみがサポートされていました。次に例を示します。
PATH connects_to_high_volt_dev := (:Device) -> (:Device WITH voltage > 35000) SELECT ...
親トピック: インメモリー・アナリスト(PGX) - 関連する変更
PGXローダーの改良
リリース2.4のPGXグラフ・ローダーには次の拡張機能があります。
-
Apache Sparkローダーで、
oracle.pgx.api.spark2.PgxSparkContext
クラスを介してSpark 2.Xがサポートされるようになりました。oracle.pgx.api.spark1
のクラスを使用すると、引き続きSpark 1.xからロードできます。 -
2つの表形式のOracle RDBMSからのロード時に、列名を構成できるようになりました。
-
2つの表形式で、頂点IDタイプとしてstring、integerおよびlongがサポートされるようになりました。
-
アーカイブを最初に解凍する必要がない、圧縮された(gzip)グラフ・データの直接ロードのサポートが追加されました。
親トピック: インメモリー・アナリスト(PGX) - 関連する変更
PGX分散エンジンの改良
リリース2.4に含まれるインメモリー・アナリスト(PGX)の分散グラフ処理実行エンジンに、いくつかの改良が加えられました。
-
PGX.Dで、stringプロパティに対する
top-k
およびbottom-k
がサポートされるようになりました。 -
NULL値に関するバグが修正されました(Oracleバグ25491165)。
-
頂点タイプのエッジ・プロパティのサポートが追加されました。
-
クライアント/サーバーAPIでサポートされるエンドポイントが拡張されました:
rename()
、getNeighbours()
、getEdges()
、getRandomVertex()
、getRandomEdge()
、getSource()
およびgetDestination()
のサポートが追加されました。
親トピック: インメモリー・アナリスト(PGX) - 関連する変更
PGXの非推奨
非推奨になったものは次のとおりです。
-
oracle.pgx.api
のPgxSparkContext
が非推奨になりました。かわりに、oracle.pgx.api.spark1
パッケージでこのクラスを使用してください。 -
RESTエンドポイント
/core/graph/<graphname>/randomNode
が非推奨になりました。かわりに/core/graph/<graphname/randomEntity
を呼び出してください -
Sparkのグラフ構成フィールド
skip_nodes
およびskip_edges
が非推奨になりました。かわりに、グラフ・ロード構成フィールドloading.skip_vertices
およびloading.skip_edges
を使用してください。 -
グラフ構成メソッド
isSkipNodes()
およびisSkipEdges()
が非推奨になりました。かわりに、skipVertexLoading()
およびskipEdgeLoading()
メソッドを使用してください。 -
SALSAアルゴリズム
algorithms/link_prediction/salsa_deprecated.gm
が非推奨になりました。かわりに、algorithms/ranking_and_walking/salsa.gm
を使用してください。 -
CALLER_THREAD PoolTypeが非推奨になりました。
-
targetPool
を指定したRESTエンドポイント/core/analysis/<analysisId>
が非推奨になりました。かわりに、workloadCharacteristics
フィールドを使用してください -
パス検索フィルタ引数タイプの使用が非推奨になりました。
-
プロパティ・タイプDATEが非推奨になりました。かわりに、LOCAL_DATE、TIME、TIMESTAMP、TIME_WITH_TIMEZONEまたはTIMESTAMP_WITH_TIMEZONEを使用してください。
-
RESTエンドポイント
GET /core/graph/<graphname>/query
が非推奨になりました。問合せでは/core/graph/<graphname>/query
へのPOST
、およびJSONペイロードではセマンティック・オプションを使用してください -
PGQLでは、ユーザー定義のパターン一致セマンティック(つまり、ISOMORPHISM / HOMOMORPHSIM)が非推奨になりました。homomorphismはデフォルト・セマンティックのままですが、新しい組込みPGQL関数
all_different(v1, v2, ...)
または非等価制約(たとえば、v1 != v2
)のいずれかを使用して、isomorphismの制約を指定する必要があります。非推奨は次のとおりです。-
メソッド
PgxGraph.queryPgql(String, PatternMatchingSemantic)
(かわりに、PgxGraph.queryPgql(String)
を使用してください) -
メソッド
PgxSession.setPatternMatchingSemantic(..)
-
構成フィールド
pattern_matching_semantic
-
親トピック: インメモリー・アナリスト(PGX) - 関連する変更
リリース2.4でのSpark Vector APIの変更点
次の機能がSpark Vector APIのリリース2.4に追加されました。
-
Spark Streaming APIの空間の変換
-
Filter、flatMap、nearestNeighbors
-
Java APIおよびScala API
-
-
2つの空間索引を使用した空間の結合
-
Streaming APIのGeoEnrich変換
親トピック: リリース2.4の変更点
Vector REST APIの追加
次のAPIを使用できます。
-
次の操作を使用できるVector Hadoop REST API:
-
空間索引のリスト/作成/削除
-
空間索引を使用したレコードの空間的フィルタ処理
-
カテゴリ化、クラスタ化、ビニング
-
-
次の操作を使用できるVector Spark REST API:
-
空間索引のリスト/作成/削除
-
空間索引を使用したレコードの空間的フィルタ処理
-
親トピック: リリース2.4の変更点
SpatialViewerの変更
Big Data Spatial Image Serverは、Oracle Big Data SpatialViewer Webアプリケーションに統合されました。SpatialViewerは、豊富なUIコンポーネントのセットを提供するOracle JETを使用します。
親トピック: リリース2.4の変更点