在导入过程中,我从 Excel 工作表中读取表格数据。我想对这些数据执行一些操作:我想排序、按关键字搜索、过滤等。是否可以通过 JQL 可靠地执行此类操作?谢谢
寻找推荐。我有一个命令行实用程序,现在需要以 CSV 的形式处理来自 Web 服务的大量数据。
我需要对数据运行多个测试以查找异常和模式。我希望该实用程序是某人可以下载而不必安装或配置的东西。
是否有关于 NoSQL 或 SQL 数据库的建议,我可以在内存中启动它,将 CSV 加载到表中,然后针对该数据运行查询?
Redis可以不用安装吗?还有什么?
我们正在考虑使用内存数据库(例如 Apache Ignite)来处理性能密集的类 BI 操作。因此,作为(非常原始的)示例,我用来自 csv 文件(14 列)的 250.000 条记录填充了 Apache Ignite,并执行了一些分组操作。以前,我还使用相同的数据对 MS SQL-Server 进行了一些性能测试。
有趣且出乎意料的是,MS SQL-Server 需要大约 0.25 秒来执行此操作,而使用 Apache Ignite 则需要 1-2 秒。
1,我一直认为Apache Ignite不仅是分布式计算的好选择,而且由于其面向内存的架构,与传统关系数据库相比,性能也有所提升。真的吗?为什么在我的例子中这么慢?
2、我是否以错误的方式使用了 Apache Ignite 或者我应该使用一些额外的调整选项吗?
这是我在示例中使用的源代码:
private static Connection conn = null;
private static Statement stmt = null;
private static ResultSet rs = null;
private static void initialize() throws ClassNotFoundException, SQLException
{
// Register JDBC driver.
Class.forName("org.apache.ignite.IgniteJdbcThinDriver");
// Create database tables.
stmt = conn.createStatement();
// Create table
stmt.executeUpdate("CREATE TABLE PIVOT_TEST (" +
" REGION …Run Code Online (Sandbox Code Playgroud) 我们有一个实体以基于自动递增的 int 属性的另一个人类可读的键键控在 guid 上。这在运行应用程序时按预期工作。
出于测试目的,我们使用了 EF 内存数据库,但这似乎只会在列也是键的情况下自动递增。
使用属性注释属性或 fluent API 都没有效果。
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int OrderNumber { get; private set; }
===========
modelBuilder.Entity<Order>(order =>
{
order.Property(p => p.OrderNumber).ValueGeneratedOnAdd();
});
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,插入后 OrderNumber 都保留为 0。有没有办法让内存数据库做到这一点,或者这是一个已知的限制?(谷歌搜索发现了有关重新播种关键值的问题,但不是这个特定问题)
我们的 Apache Ignite 生产环境中的数据区域内存不足,并且 Ignite 进程被终止。我们配置了 68 GB 的堆外内存。并且没有启用驱逐策略,因为我们不想丢失 Ignite 的任何数据。此外,我们没有启用持久性,因为我们只想将整个数据存储在 Ignite 中。
class org.apache.ignite.internal.mem.IgniteOutOfMemoryException: Out of memory in data region [name=Default_Region, initSize=256.0 MiB, maxSize=68.0 GiB, persistenceEnabled=false] Try the following:
^-- Increase maximum off-heap memory size (DataRegionConfiguration.maxSize)
^-- Enable Ignite persistence (DataRegionConfiguration.persistenceEnabled)
^-- Enable eviction or expiration policies
at org.apache.ignite.internal.pagemem.impl.PageMemoryNoStoreImpl.allocatePage(PageMemoryNoStoreImpl.java:304)
at org.apache.ignite.internal.processors.cache.persistence.freelist.AbstractFreeList.allocateDataPage(AbstractFreeList.java:463)
at org.apache.ignite.internal.processors.cache.persistence.freelist.AbstractFreeList.insertDataRow(AbstractFreeList.java:501)
at org.apache.ignite.internal.processors.cache.persistence.RowStore.addRow(RowStore.java:97)
Run Code Online (Sandbox Code Playgroud)
此错误的原因是占用整个数据区域(68 GB)?如果是的话,我们可以通过停止 Ignite 服务来处理这个问题吗?
我想使用 SQLite 在文件中存储一些元数据信息。该文件已经进行了 mmap。我想要做的是创建一个 SQLite DB,传入一个 char* 来告诉它在哪里创建 DB,而不是让它分配自己的 DB。这可以做到吗?内存数据库的 SQLite 文档只是说使用“:内存:”,并且数据库将在进程结束时被销毁,没有指示如何使用已经存在的数据或保留它。
如果没有,Linux 上有哪些解决方法?是否有“反向”mmap,以便我可以获取地址并将其映射到新文件?(那么 /foo 将是 /bar 的一部分的视图?)
我们正在尝试找到一个具有索引支持的内存数据库,我们可以将它用于我们的应用程序.我们正在研究Aerospike,Apache Ignite,Geode,Voltdb.没有太多区别,每个人都声称速度快,并且有很好的社区支持.
其中,Aerospike和VoltDB是基于C/C++的,Apache Ignite和Geode是基于Java的.
考虑到数据库在性能方面几乎没有什么选择,而且很难测试哪个数据库对我们的生产有更好的作用,试图找出内存数据库的性能是否也取决于它是否是基于java或基于c/c ++的.考虑垃圾收集问题是非常频繁的,并且很难根据您的用例(可能会在一段时间后改变)正确调整它,基于java的dbs是否会处于劣势.
谢谢
任何人都可以建议我初学者使用Apache Ignite Books和PDF.提前致谢.