我在Java的嵌入式环境中使用OrientDB.我正在我的应用程序中创建数据库和类并插入数据.当我通过控制台查看数据时,我可以看到数据库中的类,以及类中正确的行数.但是,当我尝试通过此命令浏览类中的数据时browse class testData,我收到以下错误
Error: com.orientechnologies.orient.core.exception.OSerializationException: Found invalid % character. Ensure it is opened and closed correctly.
我已经搜索了我的源数据,它不包含任何内容%.我知道OrientDB对间距特别敏感,特别是在字符周围,)但是我所拥有的数据并没有使用似乎有错误的字符.
有没有人遇到过这种错误?有关如何解决错误的任何想法?
用于创建数据库的代码
private void createNewOrientDatabase(){
String dbPath = "plocal:./db/test";
orientDatabase = new ODatabaseDocumentTx(dbPath).create();
}
Run Code Online (Sandbox Code Playgroud)
用于创建类的代码
public void createClasses(Table t){
if(orientDatabase.getMetadata().getSchema().getClass(t.getName()) == null) {
orientDatabase.getMetadata().getSchema().createClass(t.getName());
}
}
Run Code Online (Sandbox Code Playgroud)
插入数据的代码
public void insertData(Table table, TableSource data){
for (String s : data){
ODocument document = new ODocument(table.getName());
String[] parts = s.split(",");
for(int i = 0; i < table.getColumns().size(); ++i){
document.field(table.getColumns().get(i).getName(),parts[i]);
} …Run Code Online (Sandbox Code Playgroud) DAG =有向无环图; roots =没有传入边的顶点.
我有一个比可用RAM大的DAG,所以我需要一个基于磁盘的图形数据库来处理它.
我的DAG很浅:我有数十亿个根节点,但是从每个节点只有几十个节点可以访问.
它也没有很好地连接:大多数节点只有一个传入边缘.因此,对于任何一个根节点,可到达的子图通常具有很少的共同节点.
所以我的DAG可以被认为是大量的小树,只有少数几棵相交.
我需要在批量号码上对我的DAG执行以下查询:给定根节点,从中获取所有节点.
它可以被认为是批量查询:给定数千个根节点,返回从那里可到达的所有节点.
据我所知,有一些算法可以改善图形的磁盘存储局部性.三个例子是:
似乎还有老一代图形数据库不使用图形局部性.例如一个流行的Neo4j图形数据库:
http://www.ibm.com/developerworks/library/os-giraph/
Neo4j依赖于图的数据访问方法而不考虑数据局部性,并且图的处理主要需要随机数据访问.对于无法存储在内存中的大型图形,随机磁盘访问成为性能瓶颈.
我的问题是:是否有适合我的工作量的图形数据库?
支持Win64以及从Java以外的其他方式使用数据库的可能性是一个优点.
如果我在我的Android应用程序中使用Neo4j数据库会出现任何错误吗?如果是这样,任何人都可以建议我使用任何其他Graph数据库作为Android应用程序的后端..
我被困住了,无法解决这个错误,我认为这可能是我的数据库选项搞砸了
这是数据放入表格的地方
<form name = "quoted" method="post" onsubmit="get_action(this);">
<input id = "poster" type="text" name="poster" required="required" placeholder = "Credited Individual."> <br>
<textarea class = "actual_quote" name = "actual_quote" required="required" placeholder = "Write the question here!"></textarea><br><br><br>
<div class = "checkboxes" required="required">
<h3 style = "margin-top:-20px;">Please select one catagory that the quote falls into.</h3>
<label for="x"><input type="radio" name="x" value="Inspirational" id = "inspirational.php" checked="checked" /> <span>Inspirational</span></label><br>
<label for="x"><input type="radio" name="x" value="Funny" id = "funny.php" /> <span>Funny</span> </label><br>
<label for="x"><input type="radio" name="x" value="OutofContext" id = …Run Code Online (Sandbox Code Playgroud) 哪一个是快速的索引或视图都用于优化目的两者都在表的列上实现,所以任何一个解释哪一个更快,它们之间有什么区别以及我们使用视图和索引的场景.
我正在尝试更新postgres表中的一行.我想切换一个布尔字段.
我想知道是否有一个查询来更新字段,而不是先检查值是什么并更新相反的字段.
我找到了MySQL的解决方案,但它不适用于postgres:
UPDATE table SET boolean_field = !boolean_field WHERE id = :id
Error: Operator does not exist. ! boolean
Run Code Online (Sandbox Code Playgroud)
postgres中有类似的语法吗?
我正在创建一个用于工作的MySQL雇员数据库,并且希望它存储该雇员的主管。
假设我有一个名为“ employee”的表,其中的字段为“ id”,“ first_name”,“ last_name”和“ supv_id”,其中“ id”是主键,“ supv_id”是一个外键,它引用了员工ID 。
目前,我有“ supv_id”作为外键,它指向一个单独的表“ supervisor”。该表仅由指向员工表的'id'和'empl_id'组成。但是,如果有一种方法可以简单地使“ employee”中的“ supv_id”指向“ employee.id”,则将完全不需要我的“ supervisor”表。这是一个例子:
+----+--------+-----------+---------+
| id | f_name | l_name | supv_id |
+----+--------+-----------+---------+
| 1 | Han | Solo | NULL | //Or 0?
| 2 | Luke | Skywalker | 1 |
+----+--------+-----------+---------+
Run Code Online (Sandbox Code Playgroud)
简而言之,我希望“ supv_id”指向另一名员工。这有意义吗?我将如何去做呢?
谢谢!
编辑:固定表
我已插入~2M节点(通过Java API),并在使用一两天后删除它们(通过java).现在我的数据库有16k节点,重量为6 GB.
为什么这个空间没有被释放?
可能是什么原因?
我有一个表需要查询,然后根据列值将返回的对象组织成两个不同的列表.我可以查询一次表,检索用于区分对象的列,并通过循环遍历结果集来排列它们,或者我可以使用两个不同的条件查询两次并避免排序过程.哪种方法一般更好的做法?
MY_TABLE
NAME AGE TYPE
John 25 A
Sarah 30 B
Rick 22 A
Susan 43 B
Run Code Online (Sandbox Code Playgroud)
或者SELECT * FROM MY_TABLE,然后根据返回的类型对代码进行排序,或者
SELECT NAME, AGE FROM MY_TABLE WHERE TYPE = 'A' 其次是
SELECT NAME, AGE FROM MY_TABLE WHERE TYPE = 'B'
我刚刚安装了德比,我按照这里的说明完全按照它告诉我的方式,但用我的路径替换路径.但出于某种原因,为什么我尝试创建一个连接来连接创建一个数据库并运行我的SQL脚本来创建表并填充它,它给我一些错误首先是这一个
ERROR 08001: No suitable driver found for jdbc:derby:SuperMarket;create=true
Run Code Online (Sandbox Code Playgroud)
然后,当我的sql脚本运行时,我收到此错误
IJ ERROR: Unable to establish connection
Run Code Online (Sandbox Code Playgroud)
我没看到我做错了这是我用来设置类路径的行
C:\> set CLASSPATH=%DERBY_INSTALL%\lib\derby.jar;%DERBY_INSTALL%\lib\derbytools.jar;.
Run Code Online (Sandbox Code Playgroud)
我包含了所需的derby.jar文件,所以我看不出问题是否有人知道我做错了什么?当我跑的时候
connect 'jdbc:derby://localhost:1527/MyDB';
Run Code Online (Sandbox Code Playgroud)
服务器启动正常
C:\Derbs\db-derby-10.10.2.0-bin\bin>startNetworkServer
Thu Jun 26 11:56:38 PDT 2014 : Security manager installed using the Basic server
security policy.
Thu Jun 26 11:56:39 PDT 2014 : Apache Derby Network Server - 10.10.2.0 - (158244
6) started and ready to accept connections on port 1527
Run Code Online (Sandbox Code Playgroud)